[{"data":1,"prerenderedAt":5358},["ShallowReactive",2],{"sidebar-posts":3,"article-\u002Fposts\u002Flinux":2558,"surround-posts":3362},[4,1004],{"_path":5,"path":5,"stem":6,"title":7,"description":8,"body":9,"meta":996,"date":997,"tags":1003,"draft":1001,"author":1002},"\u002Fposts\u002Flinux","posts\u002FLinuxユーザ作成","Linuxユーザ作成","Linuxのユーザ作成",{"type":10,"value":11,"toc":978},"minimark",[12,17,21,25,29,69,85,88,102,105,113,117,192,195,260,270,273,276,279,282,285,288,310,313,333,336,352,355,415,418,437,440,443,507,510,543,545,548,551,554,560,563,566,587,590,608,611,625,628,692,698,701,719,724,726,729,740,743,757,763,766,787,790,808,810,822,824,830,848,851,906,909,974],[13,14,16],"h1",{"id":15},"linux-ユーザー作成方法","Linux ユーザー作成方法",[18,19,20],"h2",{"id":20},"基本ユーザ",[22,23,24],"p",{},"通常のログイン用ユーザーを作成する。",[26,27,28],"h3",{"id":28},"コマンドライン",[30,31,36],"pre",{"className":32,"code":33,"language":34,"meta":35,"style":35},"language-bash shiki shiki-themes github-light github-dark","sudo useradd -m testuser\nsudo passwd testuser\n","bash","",[37,38,39,59],"code",{"__ignoreMap":35},[40,41,44,48,52,56],"span",{"class":42,"line":43},"line",1,[40,45,47],{"class":46},"sScJk","sudo",[40,49,51],{"class":50},"sZZnC"," useradd",[40,53,55],{"class":54},"sj4cs"," -m",[40,57,58],{"class":50}," testuser\n",[40,60,62,64,67],{"class":42,"line":61},2,[40,63,47],{"class":46},[40,65,66],{"class":50}," passwd",[40,68,58],{"class":50},[70,71,72,79],"ul",{},[73,74,75,78],"li",{},[37,76,77],{},"-m","：ホームディレクトリを作成する",[73,80,81,84],{},[37,82,83],{},"passwd","：ユーザーのパスワードを設定する",[22,86,87],{},"作成結果は以下で確認できる。",[30,89,91],{"className":32,"code":90,"language":34,"meta":35,"style":35},"getent passwd testuser\n",[37,92,93],{"__ignoreMap":35},[40,94,95,98,100],{"class":42,"line":43},[40,96,97],{"class":46},"getent",[40,99,66],{"class":50},[40,101,58],{"class":50},[22,103,104],{},"例：",[30,106,111],{"className":107,"code":109,"language":110,"meta":35},[108],"language-text","testuser:x:1001:1001::\u002Fhome\u002Ftestuser:\u002Fbin\u002Fbash\n","text",[37,112,109],{"__ignoreMap":35},[26,114,116],{"id":115},"ansible","Ansible",[30,118,122],{"className":119,"code":120,"language":121,"meta":35,"style":35},"language-yaml shiki shiki-themes github-light github-dark","- name: 基本ユーザーを作成\n  ansible.builtin.user:\n    name: testuser\n    create_home: true\n    shell: \u002Fbin\u002Fbash\n    state: present\n","yaml",[37,123,124,140,148,159,170,181],{"__ignoreMap":35},[40,125,126,130,134,137],{"class":42,"line":43},[40,127,129],{"class":128},"sVt8B","- ",[40,131,133],{"class":132},"s9eBZ","name",[40,135,136],{"class":128},": ",[40,138,139],{"class":50},"基本ユーザーを作成\n",[40,141,142,145],{"class":42,"line":61},[40,143,144],{"class":132},"  ansible.builtin.user",[40,146,147],{"class":128},":\n",[40,149,151,154,156],{"class":42,"line":150},3,[40,152,153],{"class":132},"    name",[40,155,136],{"class":128},[40,157,158],{"class":50},"testuser\n",[40,160,162,165,167],{"class":42,"line":161},4,[40,163,164],{"class":132},"    create_home",[40,166,136],{"class":128},[40,168,169],{"class":54},"true\n",[40,171,173,176,178],{"class":42,"line":172},5,[40,174,175],{"class":132},"    shell",[40,177,136],{"class":128},[40,179,180],{"class":50},"\u002Fbin\u002Fbash\n",[40,182,184,187,189],{"class":42,"line":183},6,[40,185,186],{"class":132},"    state",[40,188,136],{"class":128},[40,190,191],{"class":50},"present\n",[22,193,194],{},"パスワードも設定する場合：",[30,196,198],{"className":119,"code":197,"language":121,"meta":35,"style":35},"- name: パスワード付きユーザーを作成\n  ansible.builtin.user:\n    name: testuser\n    password: \"{{ 'Password123!' | password_hash('sha512') }}\"\n    create_home: true\n    shell: \u002Fbin\u002Fbash\n    state: present\n",[37,199,200,211,217,225,235,243,251],{"__ignoreMap":35},[40,201,202,204,206,208],{"class":42,"line":43},[40,203,129],{"class":128},[40,205,133],{"class":132},[40,207,136],{"class":128},[40,209,210],{"class":50},"パスワード付きユーザーを作成\n",[40,212,213,215],{"class":42,"line":61},[40,214,144],{"class":132},[40,216,147],{"class":128},[40,218,219,221,223],{"class":42,"line":150},[40,220,153],{"class":132},[40,222,136],{"class":128},[40,224,158],{"class":50},[40,226,227,230,232],{"class":42,"line":161},[40,228,229],{"class":132},"    password",[40,231,136],{"class":128},[40,233,234],{"class":50},"\"{{ 'Password123!' | password_hash('sha512') }}\"\n",[40,236,237,239,241],{"class":42,"line":172},[40,238,164],{"class":132},[40,240,136],{"class":128},[40,242,169],{"class":54},[40,244,245,247,249],{"class":42,"line":183},[40,246,175],{"class":132},[40,248,136],{"class":128},[40,250,180],{"class":50},[40,252,254,256,258],{"class":42,"line":253},7,[40,255,186],{"class":132},[40,257,136],{"class":128},[40,259,191],{"class":50},[261,262,263],"blockquote",{},[22,264,265,266,269],{},"Ansibleの ",[37,267,268],{},"password"," には、原則として平文ではなくハッシュ化されたパスワードを指定する。",[271,272],"hr",{},[18,274,275],{"id":275},"パスワード期限付き",[22,277,278],{},"パスワード自体に有効期限を設定する。",[22,280,281],{},"例えば「90日ごとにパスワード変更を要求する」といった設定が可能。",[26,283,28],{"id":284},"コマンドライン-1",[22,286,287],{},"ユーザー作成：",[30,289,290],{"className":32,"code":33,"language":34,"meta":35,"style":35},[37,291,292,302],{"__ignoreMap":35},[40,293,294,296,298,300],{"class":42,"line":43},[40,295,47],{"class":46},[40,297,51],{"class":50},[40,299,55],{"class":54},[40,301,58],{"class":50},[40,303,304,306,308],{"class":42,"line":61},[40,305,47],{"class":46},[40,307,66],{"class":50},[40,309,58],{"class":50},[22,311,312],{},"パスワードの最大有効日数を90日に設定：",[30,314,316],{"className":32,"code":315,"language":34,"meta":35,"style":35},"sudo chage -M 90 testuser\n",[37,317,318],{"__ignoreMap":35},[40,319,320,322,325,328,331],{"class":42,"line":43},[40,321,47],{"class":46},[40,323,324],{"class":50}," chage",[40,326,327],{"class":54}," -M",[40,329,330],{"class":54}," 90",[40,332,58],{"class":50},[22,334,335],{},"設定確認：",[30,337,339],{"className":32,"code":338,"language":34,"meta":35,"style":35},"sudo chage -l testuser\n",[37,340,341],{"__ignoreMap":35},[40,342,343,345,347,350],{"class":42,"line":43},[40,344,47],{"class":46},[40,346,324],{"class":50},[40,348,349],{"class":54}," -l",[40,351,58],{"class":50},[22,353,354],{},"主なオプション：",[356,357,358,371],"table",{},[359,360,361],"thead",{},[362,363,364,368],"tr",{},[365,366,367],"th",{},"オプション",[365,369,370],{},"意味",[372,373,374,385,395,405],"tbody",{},[362,375,376,382],{},[377,378,379],"td",{},[37,380,381],{},"-M 90",[377,383,384],{},"パスワードの最大有効日数を90日にする",[362,386,387,392],{},[377,388,389],{},[37,390,391],{},"-m 1",[377,393,394],{},"パスワード変更後、最低1日は再変更不可",[362,396,397,402],{},[377,398,399],{},[37,400,401],{},"-W 7",[377,403,404],{},"期限切れ7日前から警告",[362,406,407,412],{},[377,408,409],{},[37,410,411],{},"-d 0",[377,413,414],{},"次回ログイン時にパスワード変更を強制",[22,416,417],{},"例えば、初回ログイン時にパスワード変更を強制する場合：",[30,419,421],{"className":32,"code":420,"language":34,"meta":35,"style":35},"sudo chage -d 0 testuser\n",[37,422,423],{"__ignoreMap":35},[40,424,425,427,429,432,435],{"class":42,"line":43},[40,426,47],{"class":46},[40,428,324],{"class":50},[40,430,431],{"class":54}," -d",[40,433,434],{"class":54}," 0",[40,436,58],{"class":50},[26,438,116],{"id":439},"ansible-1",[22,441,442],{},"90日でパスワードを期限切れにする場合：",[30,444,446],{"className":119,"code":445,"language":121,"meta":35,"style":35},"- name: パスワード期限付きユーザーを作成\n  ansible.builtin.user:\n    name: testuser\n    create_home: true\n    shell: \u002Fbin\u002Fbash\n    password_expire_max: 90\n    state: present\n",[37,447,448,459,465,473,481,489,499],{"__ignoreMap":35},[40,449,450,452,454,456],{"class":42,"line":43},[40,451,129],{"class":128},[40,453,133],{"class":132},[40,455,136],{"class":128},[40,457,458],{"class":50},"パスワード期限付きユーザーを作成\n",[40,460,461,463],{"class":42,"line":61},[40,462,144],{"class":132},[40,464,147],{"class":128},[40,466,467,469,471],{"class":42,"line":150},[40,468,153],{"class":132},[40,470,136],{"class":128},[40,472,158],{"class":50},[40,474,475,477,479],{"class":42,"line":161},[40,476,164],{"class":132},[40,478,136],{"class":128},[40,480,169],{"class":54},[40,482,483,485,487],{"class":42,"line":172},[40,484,175],{"class":132},[40,486,136],{"class":128},[40,488,180],{"class":50},[40,490,491,494,496],{"class":42,"line":183},[40,492,493],{"class":132},"    password_expire_max",[40,495,136],{"class":128},[40,497,498],{"class":54},"90\n",[40,500,501,503,505],{"class":42,"line":253},[40,502,186],{"class":132},[40,504,136],{"class":128},[40,506,191],{"class":50},[22,508,509],{},"初回ログイン時にパスワード変更を強制する場合：",[30,511,513],{"className":119,"code":512,"language":121,"meta":35,"style":35},"- name: 初回ログイン時にパスワード変更を強制\n  ansible.builtin.command:\n    cmd: chage -d 0 testuser\n",[37,514,515,526,533],{"__ignoreMap":35},[40,516,517,519,521,523],{"class":42,"line":43},[40,518,129],{"class":128},[40,520,133],{"class":132},[40,522,136],{"class":128},[40,524,525],{"class":50},"初回ログイン時にパスワード変更を強制\n",[40,527,528,531],{"class":42,"line":61},[40,529,530],{"class":132},"  ansible.builtin.command",[40,532,147],{"class":128},[40,534,535,538,540],{"class":42,"line":150},[40,536,537],{"class":132},"    cmd",[40,539,136],{"class":128},[40,541,542],{"class":50},"chage -d 0 testuser\n",[271,544],{},[18,546,547],{"id":547},"有効期限あり",[22,549,550],{},"アカウントそのものに有効期限を設定する。",[22,552,553],{},"パスワード期限とは異なり、有効期限を過ぎると、そのユーザーアカウント自体が使用できなくなる。",[30,555,558],{"className":556,"code":557,"language":110,"meta":35},[108],"パスワード期限\n  └─ パスワードの交換期限\n\nアカウント有効期限\n  └─ ユーザー自体の利用期限\n",[37,559,557],{"__ignoreMap":35},[26,561,28],{"id":562},"コマンドライン-2",[22,564,565],{},"2026年12月31日を有効期限に設定：",[30,567,569],{"className":32,"code":568,"language":34,"meta":35,"style":35},"sudo useradd -m -e 2026-12-31 testuser\n",[37,570,571],{"__ignoreMap":35},[40,572,573,575,577,579,582,585],{"class":42,"line":43},[40,574,47],{"class":46},[40,576,51],{"class":50},[40,578,55],{"class":54},[40,580,581],{"class":54}," -e",[40,583,584],{"class":50}," 2026-12-31",[40,586,58],{"class":50},[22,588,589],{},"既存ユーザーに設定する場合：",[30,591,593],{"className":32,"code":592,"language":34,"meta":35,"style":35},"sudo chage -E 2026-12-31 testuser\n",[37,594,595],{"__ignoreMap":35},[40,596,597,599,601,604,606],{"class":42,"line":43},[40,598,47],{"class":46},[40,600,324],{"class":50},[40,602,603],{"class":54}," -E",[40,605,584],{"class":50},[40,607,58],{"class":50},[22,609,610],{},"確認：",[30,612,613],{"className":32,"code":338,"language":34,"meta":35,"style":35},[37,614,615],{"__ignoreMap":35},[40,616,617,619,621,623],{"class":42,"line":43},[40,618,47],{"class":46},[40,620,324],{"class":50},[40,622,349],{"class":54},[40,624,58],{"class":50},[26,626,116],{"id":627},"ansible-2",[30,629,631],{"className":119,"code":630,"language":121,"meta":35,"style":35},"- name: 有効期限付きユーザーを作成\n  ansible.builtin.user:\n    name: testuser\n    create_home: true\n    shell: \u002Fbin\u002Fbash\n    expires: 1798646400\n    state: present\n",[37,632,633,644,650,658,666,674,684],{"__ignoreMap":35},[40,634,635,637,639,641],{"class":42,"line":43},[40,636,129],{"class":128},[40,638,133],{"class":132},[40,640,136],{"class":128},[40,642,643],{"class":50},"有効期限付きユーザーを作成\n",[40,645,646,648],{"class":42,"line":61},[40,647,144],{"class":132},[40,649,147],{"class":128},[40,651,652,654,656],{"class":42,"line":150},[40,653,153],{"class":132},[40,655,136],{"class":128},[40,657,158],{"class":50},[40,659,660,662,664],{"class":42,"line":161},[40,661,164],{"class":132},[40,663,136],{"class":128},[40,665,169],{"class":54},[40,667,668,670,672],{"class":42,"line":172},[40,669,175],{"class":132},[40,671,136],{"class":128},[40,673,180],{"class":50},[40,675,676,679,681],{"class":42,"line":183},[40,677,678],{"class":132},"    expires",[40,680,136],{"class":128},[40,682,683],{"class":54},"1798646400\n",[40,685,686,688,690],{"class":42,"line":253},[40,687,186],{"class":132},[40,689,136],{"class":128},[40,691,191],{"class":50},[22,693,694,697],{},[37,695,696],{},"expires"," にはUnixエポック秒を指定する。",[22,699,700],{},"例えばLinuxでエポック秒を確認する場合：",[30,702,704],{"className":32,"code":703,"language":34,"meta":35,"style":35},"date -d '2026-12-31' +%s\n",[37,705,706],{"__ignoreMap":35},[40,707,708,711,713,716],{"class":42,"line":43},[40,709,710],{"class":46},"date",[40,712,431],{"class":54},[40,714,715],{"class":50}," '2026-12-31'",[40,717,718],{"class":50}," +%s\n",[261,720,721],{},[22,722,723],{},"Ansibleでは日付文字列ではなくエポック秒を指定するため、変数化して管理する場合は可読性に注意する。",[271,725],{},[18,727,728],{"id":728},"非対話シェル指定",[22,730,731,732,735,736,739],{},"SSHログインやターミナルからの対話操作をさせたくないユーザーには、ログインシェルとして ",[37,733,734],{},"\u002Fusr\u002Fsbin\u002Fnologin"," または ",[37,737,738],{},"\u002Fsbin\u002Fnologin"," を設定する。",[22,741,742],{},"主に以下のようなユーザーで利用する。",[70,744,745,748,751,754],{},[73,746,747],{},"WebサーバーやDBなどのミドルウェア実行ユーザー",[73,749,750],{},"バッチ処理専用ユーザー",[73,752,753],{},"監視エージェント用ユーザー",[73,755,756],{},"サービスアカウント",[30,758,761],{"className":759,"code":760,"language":110,"meta":35},[108],"通常ユーザー\n    │\n    ▼\n \u002Fbin\u002Fbash\n    │\n    └── 対話ログイン可能\n\n\nサービス用ユーザー\n    │\n    ▼\n \u002Fusr\u002Fsbin\u002Fnologin\n    │\n    └── 通常の対話ログイン不可\n",[37,762,760],{"__ignoreMap":35},[26,764,28],{"id":765},"コマンドライン-3",[30,767,769],{"className":32,"code":768,"language":34,"meta":35,"style":35},"sudo useradd -m -s \u002Fusr\u002Fsbin\u002Fnologin testuser\n",[37,770,771],{"__ignoreMap":35},[40,772,773,775,777,779,782,785],{"class":42,"line":43},[40,774,47],{"class":46},[40,776,51],{"class":50},[40,778,55],{"class":54},[40,780,781],{"class":54}," -s",[40,783,784],{"class":50}," \u002Fusr\u002Fsbin\u002Fnologin",[40,786,58],{"class":50},[22,788,789],{},"既存ユーザーのシェルを変更する場合：",[30,791,793],{"className":32,"code":792,"language":34,"meta":35,"style":35},"sudo usermod -s \u002Fusr\u002Fsbin\u002Fnologin testuser\n",[37,794,795],{"__ignoreMap":35},[40,796,797,799,802,804,806],{"class":42,"line":43},[40,798,47],{"class":46},[40,800,801],{"class":50}," usermod",[40,803,781],{"class":54},[40,805,784],{"class":50},[40,807,58],{"class":50},[22,809,610],{},[30,811,812],{"className":32,"code":90,"language":34,"meta":35,"style":35},[37,813,814],{"__ignoreMap":35},[40,815,816,818,820],{"class":42,"line":43},[40,817,97],{"class":46},[40,819,66],{"class":50},[40,821,58],{"class":50},[22,823,104],{},[30,825,828],{"className":826,"code":827,"language":110,"meta":35},[108],"testuser:x:1001:1001::\u002Fhome\u002Ftestuser:\u002Fusr\u002Fsbin\u002Fnologin\n",[37,829,827],{"__ignoreMap":35},[261,831,832],{},[22,833,834,836,837,839,840,843,844,847],{},[37,835,734],{}," と ",[37,838,738],{}," のパスはディストリビューションによって異なる場合があるため、",[37,841,842],{},"which nologin"," や ",[37,845,846],{},"\u002Fetc\u002Fshells"," で確認する。",[26,849,116],{"id":850},"ansible-3",[30,852,854],{"className":119,"code":853,"language":121,"meta":35,"style":35},"- name: 非対話ログインユーザーを作成\n  ansible.builtin.user:\n    name: testuser\n    create_home: true\n    shell: \u002Fusr\u002Fsbin\u002Fnologin\n    state: present\n",[37,855,856,867,873,881,889,898],{"__ignoreMap":35},[40,857,858,860,862,864],{"class":42,"line":43},[40,859,129],{"class":128},[40,861,133],{"class":132},[40,863,136],{"class":128},[40,865,866],{"class":50},"非対話ログインユーザーを作成\n",[40,868,869,871],{"class":42,"line":61},[40,870,144],{"class":132},[40,872,147],{"class":128},[40,874,875,877,879],{"class":42,"line":150},[40,876,153],{"class":132},[40,878,136],{"class":128},[40,880,158],{"class":50},[40,882,883,885,887],{"class":42,"line":161},[40,884,164],{"class":132},[40,886,136],{"class":128},[40,888,169],{"class":54},[40,890,891,893,895],{"class":42,"line":172},[40,892,175],{"class":132},[40,894,136],{"class":128},[40,896,897],{"class":50},"\u002Fusr\u002Fsbin\u002Fnologin\n",[40,899,900,902,904],{"class":42,"line":183},[40,901,186],{"class":132},[40,903,136],{"class":128},[40,905,191],{"class":50},[22,907,908],{},"ホームディレクトリも不要なサービスユーザーなら：",[30,910,912],{"className":119,"code":911,"language":121,"meta":35,"style":35},"- name: サービス専用ユーザーを作成\n  ansible.builtin.user:\n    name: appuser\n    create_home: false\n    shell: \u002Fusr\u002Fsbin\u002Fnologin\n    system: true\n    state: present\n",[37,913,914,925,931,940,949,957,966],{"__ignoreMap":35},[40,915,916,918,920,922],{"class":42,"line":43},[40,917,129],{"class":128},[40,919,133],{"class":132},[40,921,136],{"class":128},[40,923,924],{"class":50},"サービス専用ユーザーを作成\n",[40,926,927,929],{"class":42,"line":61},[40,928,144],{"class":132},[40,930,147],{"class":128},[40,932,933,935,937],{"class":42,"line":150},[40,934,153],{"class":132},[40,936,136],{"class":128},[40,938,939],{"class":50},"appuser\n",[40,941,942,944,946],{"class":42,"line":161},[40,943,164],{"class":132},[40,945,136],{"class":128},[40,947,948],{"class":54},"false\n",[40,950,951,953,955],{"class":42,"line":172},[40,952,175],{"class":132},[40,954,136],{"class":128},[40,956,897],{"class":50},[40,958,959,962,964],{"class":42,"line":183},[40,960,961],{"class":132},"    system",[40,963,136],{"class":128},[40,965,169],{"class":54},[40,967,968,970,972],{"class":42,"line":253},[40,969,186],{"class":132},[40,971,136],{"class":128},[40,973,191],{"class":50},[975,976,977],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}",{"title":35,"searchDepth":61,"depth":61,"links":979},[980,984,988,992],{"id":20,"depth":61,"text":20,"children":981},[982,983],{"id":28,"depth":150,"text":28},{"id":115,"depth":150,"text":116},{"id":275,"depth":61,"text":275,"children":985},[986,987],{"id":284,"depth":150,"text":28},{"id":439,"depth":150,"text":116},{"id":547,"depth":61,"text":547,"children":989},[990,991],{"id":562,"depth":150,"text":28},{"id":627,"depth":150,"text":116},{"id":728,"depth":61,"text":728,"children":993},[994,995],{"id":765,"depth":150,"text":28},{"id":850,"depth":150,"text":116},{"date":997,"tags":998,"draft":1001,"author":1002},"2026-03-14",[999,1000],"Linux","ユーザ管理",false,"nmin",[999,1000],{"_path":1005,"path":1005,"stem":1006,"title":1007,"description":1008,"body":1009,"meta":2553,"date":997,"tags":2557,"draft":1001,"author":1002},"\u002Fposts\u002Fwordpress","posts\u002FWordPress 構築","WordPress（Multipass）の構築メモ","multipass+Wordpress",{"type":10,"value":1010,"toc":2526},[1011,1014,1017,1020,1024,1078,1080,1084,1088,1341,1345,1355,1382,1386,1392,1422,1426,1439,1448,1452,1459,1500,1506,1596,1617,1621,1627,1633,1635,1639,1643,1650,1701,1705,1711,1753,1757,1767,1817,1819,1823,1827,1855,1859,1880,1917,1921,1926,1950,1981,1986,2022,2232,2234,2238,2242,2347,2351,2357,2405,2422,2426,2438,2507,2509,2513,2523],[13,1012,1013],{"id":1013},"はじめに",[22,1015,1016],{},"MultipassでWordpressを作った時のメモ。",[13,1018,1019],{"id":1019},"手順",[18,1021,1023],{"id":1022},"_1-構成","1. 構成",[356,1025,1026,1036],{},[359,1027,1028],{},[362,1029,1030,1033],{},[365,1031,1032],{},"コンポーネント",[365,1034,1035],{},"バージョン",[372,1037,1038,1046,1054,1062,1070],{},[362,1039,1040,1043],{},[377,1041,1042],{},"Ubuntu (Multipass)",[377,1044,1045],{},"22.04.3",[362,1047,1048,1051],{},[377,1049,1050],{},"Nginx",[377,1052,1053],{},"1.18.0",[362,1055,1056,1059],{},[377,1057,1058],{},"PHP-FPM",[377,1060,1061],{},"7.4.33",[362,1063,1064,1067],{},[377,1065,1066],{},"MySQL",[377,1068,1069],{},"8.0.34",[362,1071,1072,1075],{},[377,1073,1074],{},"WordPress",[377,1076,1077],{},"6.3.2",[271,1079],{},[18,1081,1083],{"id":1082},"_2-nginx","2. Nginx",[26,1085,1087],{"id":1086},"_2-1-インストール","2-1. インストール",[30,1089,1091],{"className":32,"code":1090,"language":34,"meta":35,"style":35},"# 前提パッケージのインストール\nsudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring\n\n# 公式署名キーのインポート\ncurl https:\u002F\u002Fnginx.org\u002Fkeys\u002Fnginx_signing.key | gpg --dearmor \\\n    | sudo tee \u002Fusr\u002Fshare\u002Fkeyrings\u002Fnginx-archive-keyring.gpg >\u002Fdev\u002Fnull\n\n# キーの検証\ngpg --dry-run --quiet --no-keyring --import --import-options import-show \\\n    \u002Fusr\u002Fshare\u002Fkeyrings\u002Fnginx-archive-keyring.gpg\n\n# apt リポジトリの設定\necho \"deb [signed-by=\u002Fusr\u002Fshare\u002Fkeyrings\u002Fnginx-archive-keyring.gpg] \\\nhttp:\u002F\u002Fnginx.org\u002Fpackages\u002Fubuntu $(lsb_release -cs) nginx\" \\\n    | sudo tee \u002Fetc\u002Fapt\u002Fsources.list.d\u002Fnginx.list\n\n# インストール・起動\nsudo apt update\nsudo apt install nginx-full\nsudo systemctl start nginx\nsudo systemctl enable nginx\nsudo systemctl status nginx\n",[37,1092,1093,1099,1124,1130,1135,1156,1176,1180,1186,1212,1218,1223,1229,1241,1258,1270,1275,1281,1291,1303,1317,1329],{"__ignoreMap":35},[40,1094,1095],{"class":42,"line":43},[40,1096,1098],{"class":1097},"sJ8bj","# 前提パッケージのインストール\n",[40,1100,1101,1103,1106,1109,1112,1115,1118,1121],{"class":42,"line":61},[40,1102,47],{"class":46},[40,1104,1105],{"class":50}," apt",[40,1107,1108],{"class":50}," install",[40,1110,1111],{"class":50}," curl",[40,1113,1114],{"class":50}," gnupg2",[40,1116,1117],{"class":50}," ca-certificates",[40,1119,1120],{"class":50}," lsb-release",[40,1122,1123],{"class":50}," ubuntu-keyring\n",[40,1125,1126],{"class":42,"line":150},[40,1127,1129],{"emptyLinePlaceholder":1128},true,"\n",[40,1131,1132],{"class":42,"line":161},[40,1133,1134],{"class":1097},"# 公式署名キーのインポート\n",[40,1136,1137,1140,1143,1147,1150,1153],{"class":42,"line":172},[40,1138,1139],{"class":46},"curl",[40,1141,1142],{"class":50}," https:\u002F\u002Fnginx.org\u002Fkeys\u002Fnginx_signing.key",[40,1144,1146],{"class":1145},"szBVR"," |",[40,1148,1149],{"class":46}," gpg",[40,1151,1152],{"class":54}," --dearmor",[40,1154,1155],{"class":54}," \\\n",[40,1157,1158,1161,1164,1167,1170,1173],{"class":42,"line":183},[40,1159,1160],{"class":1145},"    |",[40,1162,1163],{"class":46}," sudo",[40,1165,1166],{"class":50}," tee",[40,1168,1169],{"class":50}," \u002Fusr\u002Fshare\u002Fkeyrings\u002Fnginx-archive-keyring.gpg",[40,1171,1172],{"class":1145}," >",[40,1174,1175],{"class":50},"\u002Fdev\u002Fnull\n",[40,1177,1178],{"class":42,"line":253},[40,1179,1129],{"emptyLinePlaceholder":1128},[40,1181,1183],{"class":42,"line":1182},8,[40,1184,1185],{"class":1097},"# キーの検証\n",[40,1187,1189,1192,1195,1198,1201,1204,1207,1210],{"class":42,"line":1188},9,[40,1190,1191],{"class":46},"gpg",[40,1193,1194],{"class":54}," --dry-run",[40,1196,1197],{"class":54}," --quiet",[40,1199,1200],{"class":54}," --no-keyring",[40,1202,1203],{"class":54}," --import",[40,1205,1206],{"class":54}," --import-options",[40,1208,1209],{"class":50}," import-show",[40,1211,1155],{"class":54},[40,1213,1215],{"class":42,"line":1214},10,[40,1216,1217],{"class":50},"    \u002Fusr\u002Fshare\u002Fkeyrings\u002Fnginx-archive-keyring.gpg\n",[40,1219,1221],{"class":42,"line":1220},11,[40,1222,1129],{"emptyLinePlaceholder":1128},[40,1224,1226],{"class":42,"line":1225},12,[40,1227,1228],{"class":1097},"# apt リポジトリの設定\n",[40,1230,1232,1235,1238],{"class":42,"line":1231},13,[40,1233,1234],{"class":54},"echo",[40,1236,1237],{"class":50}," \"deb [signed-by=\u002Fusr\u002Fshare\u002Fkeyrings\u002Fnginx-archive-keyring.gpg] ",[40,1239,1240],{"class":54},"\\\n",[40,1242,1244,1247,1250,1253,1256],{"class":42,"line":1243},14,[40,1245,1246],{"class":50},"http:\u002F\u002Fnginx.org\u002Fpackages\u002Fubuntu $(",[40,1248,1249],{"class":46},"lsb_release",[40,1251,1252],{"class":54}," -cs",[40,1254,1255],{"class":50},") nginx\"",[40,1257,1155],{"class":54},[40,1259,1261,1263,1265,1267],{"class":42,"line":1260},15,[40,1262,1160],{"class":1145},[40,1264,1163],{"class":46},[40,1266,1166],{"class":50},[40,1268,1269],{"class":50}," \u002Fetc\u002Fapt\u002Fsources.list.d\u002Fnginx.list\n",[40,1271,1273],{"class":42,"line":1272},16,[40,1274,1129],{"emptyLinePlaceholder":1128},[40,1276,1278],{"class":42,"line":1277},17,[40,1279,1280],{"class":1097},"# インストール・起動\n",[40,1282,1284,1286,1288],{"class":42,"line":1283},18,[40,1285,47],{"class":46},[40,1287,1105],{"class":50},[40,1289,1290],{"class":50}," update\n",[40,1292,1294,1296,1298,1300],{"class":42,"line":1293},19,[40,1295,47],{"class":46},[40,1297,1105],{"class":50},[40,1299,1108],{"class":50},[40,1301,1302],{"class":50}," nginx-full\n",[40,1304,1306,1308,1311,1314],{"class":42,"line":1305},20,[40,1307,47],{"class":46},[40,1309,1310],{"class":50}," systemctl",[40,1312,1313],{"class":50}," start",[40,1315,1316],{"class":50}," nginx\n",[40,1318,1320,1322,1324,1327],{"class":42,"line":1319},21,[40,1321,47],{"class":46},[40,1323,1310],{"class":50},[40,1325,1326],{"class":50}," enable",[40,1328,1316],{"class":50},[40,1330,1332,1334,1336,1339],{"class":42,"line":1331},22,[40,1333,47],{"class":46},[40,1335,1310],{"class":50},[40,1337,1338],{"class":50}," status",[40,1340,1316],{"class":50},[26,1342,1344],{"id":1343},"_2-2-アップロードサイズ制限の変更","2-2. アップロードサイズ制限の変更",[22,1346,1347,1350,1351,1354],{},[37,1348,1349],{},"\u002Fetc\u002Fnginx\u002Fnginx.conf"," の ",[37,1352,1353],{},"http"," ブロックに以下を追加する。",[30,1356,1360],{"className":1357,"code":1358,"language":1359,"meta":35,"style":35},"language-nginx shiki shiki-themes github-light github-dark","http {\n    client_max_body_size 32M;\n    ...\n}\n","nginx",[37,1361,1362,1367,1372,1377],{"__ignoreMap":35},[40,1363,1364],{"class":42,"line":43},[40,1365,1366],{},"http {\n",[40,1368,1369],{"class":42,"line":61},[40,1370,1371],{},"    client_max_body_size 32M;\n",[40,1373,1374],{"class":42,"line":150},[40,1375,1376],{},"    ...\n",[40,1378,1379],{"class":42,"line":161},[40,1380,1381],{},"}\n",[26,1383,1385],{"id":1384},"_2-3-ログフォーマットの変更","2-3. ログフォーマットの変更",[22,1387,1388,1389,1391],{},"同じく ",[37,1390,1349],{}," に以下を追加する。",[30,1393,1395],{"className":1357,"code":1394,"language":1359,"meta":35,"style":35},"log_format custom '[nginx] time:$time_iso8601 server_addr:$server_addr host:$host '\n                   'method:$request_method reqsize:$request_length uri:$uri '\n                   'query:$args status:$status size:$body_bytes_sent referer:$http_referer '\n                   'ua:$http_user_agent forwardedfor:$http_x_forwarded_for '\n                   'reqtime:$request_time apptime:$upstream_response_time';\n",[37,1396,1397,1402,1407,1412,1417],{"__ignoreMap":35},[40,1398,1399],{"class":42,"line":43},[40,1400,1401],{},"log_format custom '[nginx] time:$time_iso8601 server_addr:$server_addr host:$host '\n",[40,1403,1404],{"class":42,"line":61},[40,1405,1406],{},"                   'method:$request_method reqsize:$request_length uri:$uri '\n",[40,1408,1409],{"class":42,"line":150},[40,1410,1411],{},"                   'query:$args status:$status size:$body_bytes_sent referer:$http_referer '\n",[40,1413,1414],{"class":42,"line":161},[40,1415,1416],{},"                   'ua:$http_user_agent forwardedfor:$http_x_forwarded_for '\n",[40,1418,1419],{"class":42,"line":172},[40,1420,1421],{},"                   'reqtime:$request_time apptime:$upstream_response_time';\n",[26,1423,1425],{"id":1424},"_2-4-デフォルト設定ファイルの編集","2-4. デフォルト設定ファイルの編集",[22,1427,1428,1350,1431,1434,1435,1438],{},[37,1429,1430],{},"\u002Fetc\u002Fnginx\u002Fsites-available\u002Fdefault",[37,1432,1433],{},"index"," ディレクティブに ",[37,1436,1437],{},"index.php"," を追加する。",[30,1440,1442],{"className":1357,"code":1441,"language":1359,"meta":35,"style":35},"index index.php index.html index.htm index.nginx-debian.html;\n",[37,1443,1444],{"__ignoreMap":35},[40,1445,1446],{"class":42,"line":43},[40,1447,1441],{},[26,1449,1451],{"id":1450},"_2-5-バーチャルホストの設定","2-5. バーチャルホストの設定",[22,1453,1454,1455,1458],{},"設定ファイルを作成し、",[37,1456,1457],{},"sites-enabled"," にシンボリックリンクを張る。",[30,1460,1462],{"className":32,"code":1461,"language":34,"meta":35,"style":35},"sudo vim \u002Fetc\u002Fnginx\u002Fsites-available\u002Fdev.wp.me.conf\nsudo ln -s \u002Fetc\u002Fnginx\u002Fsites-available\u002Fdev.wp.me.conf \u002Fetc\u002Fnginx\u002Fsites-enabled\u002F\nsudo systemctl restart nginx\n",[37,1463,1464,1474,1489],{"__ignoreMap":35},[40,1465,1466,1468,1471],{"class":42,"line":43},[40,1467,47],{"class":46},[40,1469,1470],{"class":50}," vim",[40,1472,1473],{"class":50}," \u002Fetc\u002Fnginx\u002Fsites-available\u002Fdev.wp.me.conf\n",[40,1475,1476,1478,1481,1483,1486],{"class":42,"line":61},[40,1477,47],{"class":46},[40,1479,1480],{"class":50}," ln",[40,1482,781],{"class":54},[40,1484,1485],{"class":50}," \u002Fetc\u002Fnginx\u002Fsites-available\u002Fdev.wp.me.conf",[40,1487,1488],{"class":50}," \u002Fetc\u002Fnginx\u002Fsites-enabled\u002F\n",[40,1490,1491,1493,1495,1498],{"class":42,"line":150},[40,1492,47],{"class":46},[40,1494,1310],{"class":50},[40,1496,1497],{"class":50}," restart",[40,1499,1316],{"class":50},[22,1501,1502,1505],{},[37,1503,1504],{},"dev.wp.me.conf"," の内容：",[30,1507,1509],{"className":1357,"code":1508,"language":1359,"meta":35,"style":35},"server {\n    listen 80;\n    server_name dev.wp.me;\n    root \u002Fvar\u002Fwww\u002Fhtml\u002Fwordpress;\n    index index.php index.html index.htm index.nginx-debian.html;\n\n    access_log \u002Fvar\u002Flog\u002Fnginx\u002Faccess.log custom;\n    error_log  \u002Fvar\u002Flog\u002Fnginx\u002Ferror.log warn;\n\n    location \u002F {\n        try_files $uri $uri\u002F \u002Findex.php?$args;\n    }\n\n    location ~ \\.php$ {\n        include snippets\u002Ffastcgi-php.conf;\n        fastcgi_pass unix:\u002Fvar\u002Frun\u002Fphp\u002Fphp7.4-fpm.sock;\n    }\n}\n",[37,1510,1511,1516,1521,1526,1531,1536,1540,1545,1550,1554,1559,1564,1569,1573,1578,1583,1588,1592],{"__ignoreMap":35},[40,1512,1513],{"class":42,"line":43},[40,1514,1515],{},"server {\n",[40,1517,1518],{"class":42,"line":61},[40,1519,1520],{},"    listen 80;\n",[40,1522,1523],{"class":42,"line":150},[40,1524,1525],{},"    server_name dev.wp.me;\n",[40,1527,1528],{"class":42,"line":161},[40,1529,1530],{},"    root \u002Fvar\u002Fwww\u002Fhtml\u002Fwordpress;\n",[40,1532,1533],{"class":42,"line":172},[40,1534,1535],{},"    index index.php index.html index.htm index.nginx-debian.html;\n",[40,1537,1538],{"class":42,"line":183},[40,1539,1129],{"emptyLinePlaceholder":1128},[40,1541,1542],{"class":42,"line":253},[40,1543,1544],{},"    access_log \u002Fvar\u002Flog\u002Fnginx\u002Faccess.log custom;\n",[40,1546,1547],{"class":42,"line":1182},[40,1548,1549],{},"    error_log  \u002Fvar\u002Flog\u002Fnginx\u002Ferror.log warn;\n",[40,1551,1552],{"class":42,"line":1188},[40,1553,1129],{"emptyLinePlaceholder":1128},[40,1555,1556],{"class":42,"line":1214},[40,1557,1558],{},"    location \u002F {\n",[40,1560,1561],{"class":42,"line":1220},[40,1562,1563],{},"        try_files $uri $uri\u002F \u002Findex.php?$args;\n",[40,1565,1566],{"class":42,"line":1225},[40,1567,1568],{},"    }\n",[40,1570,1571],{"class":42,"line":1231},[40,1572,1129],{"emptyLinePlaceholder":1128},[40,1574,1575],{"class":42,"line":1243},[40,1576,1577],{},"    location ~ \\.php$ {\n",[40,1579,1580],{"class":42,"line":1260},[40,1581,1582],{},"        include snippets\u002Ffastcgi-php.conf;\n",[40,1584,1585],{"class":42,"line":1272},[40,1586,1587],{},"        fastcgi_pass unix:\u002Fvar\u002Frun\u002Fphp\u002Fphp7.4-fpm.sock;\n",[40,1589,1590],{"class":42,"line":1277},[40,1591,1568],{},[40,1593,1594],{"class":42,"line":1283},[40,1595,1381],{},[261,1597,1598],{},[22,1599,1600,1604,1605,1608,1609,1612,1613,1616],{},[1601,1602,1603],"strong",{},"Note:"," ",[37,1606,1607],{},"access_log"," のフォーマットを ",[37,1610,1611],{},"main"," から ",[37,1614,1615],{},"custom","（2-3 で定義）に変更している。",[26,1618,1620],{"id":1619},"_2-6-ローカルの-hosts-ファイルに追記","2-6. ローカルの hosts ファイルに追記",[22,1622,1623,1624,1391],{},"ローカル Mac の ",[37,1625,1626],{},"\u002Fetc\u002Fhosts",[30,1628,1631],{"className":1629,"code":1630,"language":110},[108],"192.168.64.xx  dev.wp.me\n",[37,1632,1630],{"__ignoreMap":35},[271,1634],{},[18,1636,1638],{"id":1637},"_3-php","3. PHP",[26,1640,1642],{"id":1641},"_3-1-php-fpm-74-のインストール","3-1. PHP-FPM 7.4 のインストール",[22,1644,1645,1646,1649],{},"Ubuntu 22.04 の標準リポジトリには PHP 7.4 が含まれないため、",[37,1647,1648],{},"ondrej\u002Fphp"," PPA を追加する。",[30,1651,1653],{"className":32,"code":1652,"language":34,"meta":35,"style":35},"sudo add-apt-repository ppa:ondrej\u002Fphp\nsudo apt update\nsudo apt install php7.4-fpm\n\nphp -v\n# PHP 7.4.33 (cli)\n",[37,1654,1655,1665,1673,1684,1688,1696],{"__ignoreMap":35},[40,1656,1657,1659,1662],{"class":42,"line":43},[40,1658,47],{"class":46},[40,1660,1661],{"class":50}," add-apt-repository",[40,1663,1664],{"class":50}," ppa:ondrej\u002Fphp\n",[40,1666,1667,1669,1671],{"class":42,"line":61},[40,1668,47],{"class":46},[40,1670,1105],{"class":50},[40,1672,1290],{"class":50},[40,1674,1675,1677,1679,1681],{"class":42,"line":150},[40,1676,47],{"class":46},[40,1678,1105],{"class":50},[40,1680,1108],{"class":50},[40,1682,1683],{"class":50}," php7.4-fpm\n",[40,1685,1686],{"class":42,"line":161},[40,1687,1129],{"emptyLinePlaceholder":1128},[40,1689,1690,1693],{"class":42,"line":172},[40,1691,1692],{"class":46},"php",[40,1694,1695],{"class":54}," -v\n",[40,1697,1698],{"class":42,"line":183},[40,1699,1700],{"class":1097},"# PHP 7.4.33 (cli)\n",[26,1702,1704],{"id":1703},"_3-2-phpini-の編集","3-2. php.ini の編集",[22,1706,1707,1710],{},[37,1708,1709],{},"\u002Fetc\u002Fphp\u002F7.4\u002Ffpm\u002Fphp.ini"," を以下の値に変更する。",[30,1712,1716],{"className":1713,"code":1714,"language":1715,"meta":35,"style":35},"language-ini shiki shiki-themes github-light github-dark","file_uploads        = On\nmax_execution_time  = 300\nmemory_limit        = 256M\npost_max_size       = 32M\nmax_input_time      = 60\nmax_input_vars      = 4440\nupload_max_filesize = 32M\n","ini",[37,1717,1718,1723,1728,1733,1738,1743,1748],{"__ignoreMap":35},[40,1719,1720],{"class":42,"line":43},[40,1721,1722],{},"file_uploads        = On\n",[40,1724,1725],{"class":42,"line":61},[40,1726,1727],{},"max_execution_time  = 300\n",[40,1729,1730],{"class":42,"line":150},[40,1731,1732],{},"memory_limit        = 256M\n",[40,1734,1735],{"class":42,"line":161},[40,1736,1737],{},"post_max_size       = 32M\n",[40,1739,1740],{"class":42,"line":172},[40,1741,1742],{},"max_input_time      = 60\n",[40,1744,1745],{"class":42,"line":183},[40,1746,1747],{},"max_input_vars      = 4440\n",[40,1749,1750],{"class":42,"line":253},[40,1751,1752],{},"upload_max_filesize = 32M\n",[26,1754,1756],{"id":1755},"_3-3-php-fpm-プロセスマネージャーのチューニング","3-3. PHP-FPM プロセスマネージャーのチューニング",[22,1758,1759,1762,1763,1766],{},[37,1760,1761],{},"\u002Fetc\u002Fphp\u002F7.4\u002Ffpm\u002Fpool.d\u002Fwww.conf"," を編集し、プロセスマネージャーを ",[37,1764,1765],{},"static"," に変更する。",[30,1768,1770],{"className":1713,"code":1769,"language":1715,"meta":35,"style":35},"pm                   = static\npm.max_children      = 50\npm.start_servers     = 50\npm.min_spare_servers = 50\npm.max_spare_servers = 50\npm.process_idle_timeout = 10s\npm.max_requests      = 100\nphp_admin_value[memory_limit] = 256M\nrequest_terminate_timeout = 180\n",[37,1771,1772,1777,1782,1787,1792,1797,1802,1807,1812],{"__ignoreMap":35},[40,1773,1774],{"class":42,"line":43},[40,1775,1776],{},"pm                   = static\n",[40,1778,1779],{"class":42,"line":61},[40,1780,1781],{},"pm.max_children      = 50\n",[40,1783,1784],{"class":42,"line":150},[40,1785,1786],{},"pm.start_servers     = 50\n",[40,1788,1789],{"class":42,"line":161},[40,1790,1791],{},"pm.min_spare_servers = 50\n",[40,1793,1794],{"class":42,"line":172},[40,1795,1796],{},"pm.max_spare_servers = 50\n",[40,1798,1799],{"class":42,"line":183},[40,1800,1801],{},"pm.process_idle_timeout = 10s\n",[40,1803,1804],{"class":42,"line":253},[40,1805,1806],{},"pm.max_requests      = 100\n",[40,1808,1809],{"class":42,"line":1182},[40,1810,1811],{},"php_admin_value[memory_limit] = 256M\n",[40,1813,1814],{"class":42,"line":1188},[40,1815,1816],{},"request_terminate_timeout = 180\n",[271,1818],{},[18,1820,1822],{"id":1821},"_4-mysql","4. MySQL",[26,1824,1826],{"id":1825},"_4-1-mysql-8-のインストール","4-1. MySQL 8 のインストール",[30,1828,1830],{"className":32,"code":1829,"language":34,"meta":35,"style":35},"sudo apt-get update\nsudo apt-get install mysql-server mysql-client\n",[37,1831,1832,1841],{"__ignoreMap":35},[40,1833,1834,1836,1839],{"class":42,"line":43},[40,1835,47],{"class":46},[40,1837,1838],{"class":50}," apt-get",[40,1840,1290],{"class":50},[40,1842,1843,1845,1847,1849,1852],{"class":42,"line":61},[40,1844,47],{"class":46},[40,1846,1838],{"class":50},[40,1848,1108],{"class":50},[40,1850,1851],{"class":50}," mysql-server",[40,1853,1854],{"class":50}," mysql-client\n",[26,1856,1858],{"id":1857},"_4-2-データベースユーザーの作成","4-2. データベース・ユーザーの作成",[30,1860,1862],{"className":32,"code":1861,"language":34,"meta":35,"style":35},"sudo mysql -u root -p\n",[37,1863,1864],{"__ignoreMap":35},[40,1865,1866,1868,1871,1874,1877],{"class":42,"line":43},[40,1867,47],{"class":46},[40,1869,1870],{"class":50}," mysql",[40,1872,1873],{"class":54}," -u",[40,1875,1876],{"class":50}," root",[40,1878,1879],{"class":54}," -p\n",[30,1881,1885],{"className":1882,"code":1883,"language":1884,"meta":35,"style":35},"language-sql shiki shiki-themes github-light github-dark","CREATE DATABASE wp_db CHARACTER SET utf8 COLLATE utf8_bin;\nCREATE USER 'wp-user'@'%' IDENTIFIED BY '任意のパスワード';\nGRANT ALL PRIVILEGES ON wp_db.* TO 'wp-user'@'%';\nFLUSH PRIVILEGES;\nGRANT PROCESS ON *.* TO 'root'@'localhost';\nQUIT;\n","sql",[37,1886,1887,1892,1897,1902,1907,1912],{"__ignoreMap":35},[40,1888,1889],{"class":42,"line":43},[40,1890,1891],{},"CREATE DATABASE wp_db CHARACTER SET utf8 COLLATE utf8_bin;\n",[40,1893,1894],{"class":42,"line":61},[40,1895,1896],{},"CREATE USER 'wp-user'@'%' IDENTIFIED BY '任意のパスワード';\n",[40,1898,1899],{"class":42,"line":150},[40,1900,1901],{},"GRANT ALL PRIVILEGES ON wp_db.* TO 'wp-user'@'%';\n",[40,1903,1904],{"class":42,"line":161},[40,1905,1906],{},"FLUSH PRIVILEGES;\n",[40,1908,1909],{"class":42,"line":172},[40,1910,1911],{},"GRANT PROCESS ON *.* TO 'root'@'localhost';\n",[40,1913,1914],{"class":42,"line":183},[40,1915,1916],{},"QUIT;\n",[26,1918,1920],{"id":1919},"_4-3-mysqlバックアップスクリプトの作成第5世代","4-3. MySQLバックアップスクリプトの作成（第5世代）",[22,1922,1923],{},[1601,1924,1925],{},"認証情報ファイル",[30,1927,1929],{"className":32,"code":1928,"language":34,"meta":35,"style":35},"sudo vim ~\u002Fsecrets.sh\nchmod 600 ~\u002Fsecrets.sh\n",[37,1930,1931,1940],{"__ignoreMap":35},[40,1932,1933,1935,1937],{"class":42,"line":43},[40,1934,47],{"class":46},[40,1936,1470],{"class":50},[40,1938,1939],{"class":50}," ~\u002Fsecrets.sh\n",[40,1941,1942,1945,1948],{"class":42,"line":61},[40,1943,1944],{"class":46},"chmod",[40,1946,1947],{"class":54}," 600",[40,1949,1939],{"class":50},[30,1951,1953],{"className":32,"code":1952,"language":34,"meta":35,"style":35},"# ~\u002Fsecrets.sh\nDB_USER=\"root\"\nDB_PASSWORD=\"パスワード\"\n",[37,1954,1955,1960,1971],{"__ignoreMap":35},[40,1956,1957],{"class":42,"line":43},[40,1958,1959],{"class":1097},"# ~\u002Fsecrets.sh\n",[40,1961,1962,1965,1968],{"class":42,"line":61},[40,1963,1964],{"class":128},"DB_USER",[40,1966,1967],{"class":1145},"=",[40,1969,1970],{"class":50},"\"root\"\n",[40,1972,1973,1976,1978],{"class":42,"line":150},[40,1974,1975],{"class":128},"DB_PASSWORD",[40,1977,1967],{"class":1145},[40,1979,1980],{"class":50},"\"パスワード\"\n",[22,1982,1983],{},[1601,1984,1985],{},"バックアップスクリプト",[30,1987,1989],{"className":32,"code":1988,"language":34,"meta":35,"style":35},"sudo mkdir -p \u002Ftmp\u002Fshell\u002Fmysql_bk\nsudo vim \u002Ftmp\u002Fshell\u002Fmysql_bk\u002Fmysql_backup.sh\nchmod +x \u002Ftmp\u002Fshell\u002Fmysql_bk\u002Fmysql_backup.sh\n",[37,1990,1991,2004,2013],{"__ignoreMap":35},[40,1992,1993,1995,1998,2001],{"class":42,"line":43},[40,1994,47],{"class":46},[40,1996,1997],{"class":50}," mkdir",[40,1999,2000],{"class":54}," -p",[40,2002,2003],{"class":50}," \u002Ftmp\u002Fshell\u002Fmysql_bk\n",[40,2005,2006,2008,2010],{"class":42,"line":61},[40,2007,47],{"class":46},[40,2009,1470],{"class":50},[40,2011,2012],{"class":50}," \u002Ftmp\u002Fshell\u002Fmysql_bk\u002Fmysql_backup.sh\n",[40,2014,2015,2017,2020],{"class":42,"line":150},[40,2016,1944],{"class":46},[40,2018,2019],{"class":50}," +x",[40,2021,2012],{"class":50},[30,2023,2025],{"className":32,"code":2024,"language":34,"meta":35,"style":35},"#!\u002Fbin\u002Fbash\n\n# 認証情報の読み込み\nsource ~\u002Fsecrets.sh\n\nDB_NAME=\"wp_db\"\nBACKUP_DIR=\"\u002Ftmp\u002Fshell\u002Fmysql_bk\"\nDATE=$(date +%F)\nBACKUP_FILE=\"$BACKUP_DIR\u002Fbackup_$DATE.sql\"\n\n# バックアップ作成\nmysqldump -u\"$DB_USER\" -p\"$DB_PASSWORD\" \"$DB_NAME\" > \"$BACKUP_FILE\"\n\n# 圧縮\ngzip \"$BACKUP_FILE\"\n\n# 5日より古いバックアップを削除\nfind \"$BACKUP_DIR\" -type f -name \"backup_*\" -mtime +5 -exec rm {} \\;\n",[37,2026,2027,2032,2036,2041,2048,2052,2062,2072,2090,2112,2116,2121,2162,2166,2171,2182,2186,2191],{"__ignoreMap":35},[40,2028,2029],{"class":42,"line":43},[40,2030,2031],{"class":1097},"#!\u002Fbin\u002Fbash\n",[40,2033,2034],{"class":42,"line":61},[40,2035,1129],{"emptyLinePlaceholder":1128},[40,2037,2038],{"class":42,"line":150},[40,2039,2040],{"class":1097},"# 認証情報の読み込み\n",[40,2042,2043,2046],{"class":42,"line":161},[40,2044,2045],{"class":54},"source",[40,2047,1939],{"class":50},[40,2049,2050],{"class":42,"line":172},[40,2051,1129],{"emptyLinePlaceholder":1128},[40,2053,2054,2057,2059],{"class":42,"line":183},[40,2055,2056],{"class":128},"DB_NAME",[40,2058,1967],{"class":1145},[40,2060,2061],{"class":50},"\"wp_db\"\n",[40,2063,2064,2067,2069],{"class":42,"line":253},[40,2065,2066],{"class":128},"BACKUP_DIR",[40,2068,1967],{"class":1145},[40,2070,2071],{"class":50},"\"\u002Ftmp\u002Fshell\u002Fmysql_bk\"\n",[40,2073,2074,2077,2079,2082,2084,2087],{"class":42,"line":1182},[40,2075,2076],{"class":128},"DATE",[40,2078,1967],{"class":1145},[40,2080,2081],{"class":128},"$(",[40,2083,710],{"class":46},[40,2085,2086],{"class":50}," +%F",[40,2088,2089],{"class":128},")\n",[40,2091,2092,2095,2097,2100,2103,2106,2109],{"class":42,"line":1188},[40,2093,2094],{"class":128},"BACKUP_FILE",[40,2096,1967],{"class":1145},[40,2098,2099],{"class":50},"\"",[40,2101,2102],{"class":128},"$BACKUP_DIR",[40,2104,2105],{"class":50},"\u002Fbackup_",[40,2107,2108],{"class":128},"$DATE",[40,2110,2111],{"class":50},".sql\"\n",[40,2113,2114],{"class":42,"line":1214},[40,2115,1129],{"emptyLinePlaceholder":1128},[40,2117,2118],{"class":42,"line":1220},[40,2119,2120],{"class":1097},"# バックアップ作成\n",[40,2122,2123,2126,2128,2130,2133,2135,2137,2139,2142,2144,2147,2150,2152,2154,2156,2159],{"class":42,"line":1225},[40,2124,2125],{"class":46},"mysqldump",[40,2127,1873],{"class":54},[40,2129,2099],{"class":50},[40,2131,2132],{"class":128},"$DB_USER",[40,2134,2099],{"class":50},[40,2136,2000],{"class":54},[40,2138,2099],{"class":50},[40,2140,2141],{"class":128},"$DB_PASSWORD",[40,2143,2099],{"class":50},[40,2145,2146],{"class":50}," \"",[40,2148,2149],{"class":128},"$DB_NAME",[40,2151,2099],{"class":50},[40,2153,1172],{"class":1145},[40,2155,2146],{"class":50},[40,2157,2158],{"class":128},"$BACKUP_FILE",[40,2160,2161],{"class":50},"\"\n",[40,2163,2164],{"class":42,"line":1231},[40,2165,1129],{"emptyLinePlaceholder":1128},[40,2167,2168],{"class":42,"line":1243},[40,2169,2170],{"class":1097},"# 圧縮\n",[40,2172,2173,2176,2178,2180],{"class":42,"line":1260},[40,2174,2175],{"class":46},"gzip",[40,2177,2146],{"class":50},[40,2179,2158],{"class":128},[40,2181,2161],{"class":50},[40,2183,2184],{"class":42,"line":1272},[40,2185,1129],{"emptyLinePlaceholder":1128},[40,2187,2188],{"class":42,"line":1277},[40,2189,2190],{"class":1097},"# 5日より古いバックアップを削除\n",[40,2192,2193,2196,2198,2200,2202,2205,2208,2211,2214,2217,2220,2223,2226,2229],{"class":42,"line":1283},[40,2194,2195],{"class":46},"find",[40,2197,2146],{"class":50},[40,2199,2102],{"class":128},[40,2201,2099],{"class":50},[40,2203,2204],{"class":54}," -type",[40,2206,2207],{"class":50}," f",[40,2209,2210],{"class":54}," -name",[40,2212,2213],{"class":50}," \"backup_*\"",[40,2215,2216],{"class":54}," -mtime",[40,2218,2219],{"class":50}," +5",[40,2221,2222],{"class":54}," -exec",[40,2224,2225],{"class":50}," rm",[40,2227,2228],{"class":50}," {}",[40,2230,2231],{"class":54}," \\;\n",[271,2233],{},[18,2235,2237],{"id":2236},"_5-wordpress","5. WordPress",[26,2239,2241],{"id":2240},"_5-1-インストール","5-1. インストール",[30,2243,2245],{"className":32,"code":2244,"language":34,"meta":35,"style":35},"cd \u002Ftmp\nwget https:\u002F\u002Fwordpress.org\u002Flatest.tar.gz\ntar -zxvf latest.tar.gz\n\n# Nginx のドキュメントルートに配置\nsudo mv wordpress \u002Fvar\u002Fwww\u002Fhtml\u002F\n\n# 所有者を Nginx の実行ユーザーに変更\nsudo chown -R www-data:www-data \u002Fvar\u002Fwww\u002Fhtml\u002Fwordpress\n\n# 設定ファイルを作成\ncd \u002Fvar\u002Fwww\u002Fhtml\u002Fwordpress\ncp wp-config-sample.php wp-config.php\n",[37,2246,2247,2255,2263,2274,2278,2283,2296,2300,2305,2321,2325,2330,2336],{"__ignoreMap":35},[40,2248,2249,2252],{"class":42,"line":43},[40,2250,2251],{"class":54},"cd",[40,2253,2254],{"class":50}," \u002Ftmp\n",[40,2256,2257,2260],{"class":42,"line":61},[40,2258,2259],{"class":46},"wget",[40,2261,2262],{"class":50}," https:\u002F\u002Fwordpress.org\u002Flatest.tar.gz\n",[40,2264,2265,2268,2271],{"class":42,"line":150},[40,2266,2267],{"class":46},"tar",[40,2269,2270],{"class":54}," -zxvf",[40,2272,2273],{"class":50}," latest.tar.gz\n",[40,2275,2276],{"class":42,"line":161},[40,2277,1129],{"emptyLinePlaceholder":1128},[40,2279,2280],{"class":42,"line":172},[40,2281,2282],{"class":1097},"# Nginx のドキュメントルートに配置\n",[40,2284,2285,2287,2290,2293],{"class":42,"line":183},[40,2286,47],{"class":46},[40,2288,2289],{"class":50}," mv",[40,2291,2292],{"class":50}," wordpress",[40,2294,2295],{"class":50}," \u002Fvar\u002Fwww\u002Fhtml\u002F\n",[40,2297,2298],{"class":42,"line":253},[40,2299,1129],{"emptyLinePlaceholder":1128},[40,2301,2302],{"class":42,"line":1182},[40,2303,2304],{"class":1097},"# 所有者を Nginx の実行ユーザーに変更\n",[40,2306,2307,2309,2312,2315,2318],{"class":42,"line":1188},[40,2308,47],{"class":46},[40,2310,2311],{"class":50}," chown",[40,2313,2314],{"class":54}," -R",[40,2316,2317],{"class":50}," www-data:www-data",[40,2319,2320],{"class":50}," \u002Fvar\u002Fwww\u002Fhtml\u002Fwordpress\n",[40,2322,2323],{"class":42,"line":1214},[40,2324,1129],{"emptyLinePlaceholder":1128},[40,2326,2327],{"class":42,"line":1220},[40,2328,2329],{"class":1097},"# 設定ファイルを作成\n",[40,2331,2332,2334],{"class":42,"line":1225},[40,2333,2251],{"class":54},[40,2335,2320],{"class":50},[40,2337,2338,2341,2344],{"class":42,"line":1231},[40,2339,2340],{"class":46},"cp",[40,2342,2343],{"class":50}," wp-config-sample.php",[40,2345,2346],{"class":50}," wp-config.php\n",[26,2348,2350],{"id":2349},"_5-2-環境変数による認証情報の管理","5-2. 環境変数による認証情報の管理",[22,2352,2353,2356],{},[37,2354,2355],{},"phpdotenv"," を使用し、認証情報をコードから分離する。",[30,2358,2360],{"className":32,"code":2359,"language":34,"meta":35,"style":35},"cd \u002Fvar\u002Fwww\u002Fhtml\u002Fwordpress\n\n# phpdotenv のインストール\ncomposer require vlucas\u002Fphpdotenv\n\n# .env ファイルの作成\nvim .env\n",[37,2361,2362,2368,2372,2377,2388,2392,2397],{"__ignoreMap":35},[40,2363,2364,2366],{"class":42,"line":43},[40,2365,2251],{"class":54},[40,2367,2320],{"class":50},[40,2369,2370],{"class":42,"line":61},[40,2371,1129],{"emptyLinePlaceholder":1128},[40,2373,2374],{"class":42,"line":150},[40,2375,2376],{"class":1097},"# phpdotenv のインストール\n",[40,2378,2379,2382,2385],{"class":42,"line":161},[40,2380,2381],{"class":46},"composer",[40,2383,2384],{"class":50}," require",[40,2386,2387],{"class":50}," vlucas\u002Fphpdotenv\n",[40,2389,2390],{"class":42,"line":172},[40,2391,1129],{"emptyLinePlaceholder":1128},[40,2393,2394],{"class":42,"line":183},[40,2395,2396],{"class":1097},"# .env ファイルの作成\n",[40,2398,2399,2402],{"class":42,"line":253},[40,2400,2401],{"class":46},"vim",[40,2403,2404],{"class":50}," .env\n",[30,2406,2410],{"className":2407,"code":2408,"language":2409,"meta":35,"style":35},"language-dotenv shiki shiki-themes github-light github-dark","DATABASE_USER=\"wp-user\"\nDATABASE_PASSWORD=\"パスワード\"\n","dotenv",[37,2411,2412,2417],{"__ignoreMap":35},[40,2413,2414],{"class":42,"line":43},[40,2415,2416],{},"DATABASE_USER=\"wp-user\"\n",[40,2418,2419],{"class":42,"line":61},[40,2420,2421],{},"DATABASE_PASSWORD=\"パスワード\"\n",[26,2423,2425],{"id":2424},"_5-3-wp-configphp-の編集","5-3. wp-config.php の編集",[30,2427,2429],{"className":32,"code":2428,"language":34,"meta":35,"style":35},"vim \u002Fvar\u002Fwww\u002Fhtml\u002Fwordpress\u002Fwp-config.php\n",[37,2430,2431],{"__ignoreMap":35},[40,2432,2433,2435],{"class":42,"line":43},[40,2434,2401],{"class":46},[40,2436,2437],{"class":50}," \u002Fvar\u002Fwww\u002Fhtml\u002Fwordpress\u002Fwp-config.php\n",[30,2439,2442],{"className":2440,"code":2441,"language":1692,"meta":35,"style":35},"language-php shiki shiki-themes github-light github-dark","\u003C?php\nrequire 'vendor\u002Fautoload.php';\n\n$dotenv = Dotenv\\Dotenv::createImmutable(__DIR__);\n$dotenv->load();\n\ndefine('DB_NAME',     'wp_db');\ndefine('DB_USER',     $_ENV['DATABASE_USER']);\ndefine('DB_PASSWORD', $_ENV['DATABASE_PASSWORD']);\ndefine('DB_HOST',     'localhost');\ndefine('DB_CHARSET',  'utf8');\ndefine('DB_COLLATE',  '');\n\u002F\u002F ...（その他の設定は省略）\n",[37,2443,2444,2449,2454,2458,2463,2468,2472,2477,2482,2487,2492,2497,2502],{"__ignoreMap":35},[40,2445,2446],{"class":42,"line":43},[40,2447,2448],{},"\u003C?php\n",[40,2450,2451],{"class":42,"line":61},[40,2452,2453],{},"require 'vendor\u002Fautoload.php';\n",[40,2455,2456],{"class":42,"line":150},[40,2457,1129],{"emptyLinePlaceholder":1128},[40,2459,2460],{"class":42,"line":161},[40,2461,2462],{},"$dotenv = Dotenv\\Dotenv::createImmutable(__DIR__);\n",[40,2464,2465],{"class":42,"line":172},[40,2466,2467],{},"$dotenv->load();\n",[40,2469,2470],{"class":42,"line":183},[40,2471,1129],{"emptyLinePlaceholder":1128},[40,2473,2474],{"class":42,"line":253},[40,2475,2476],{},"define('DB_NAME',     'wp_db');\n",[40,2478,2479],{"class":42,"line":1182},[40,2480,2481],{},"define('DB_USER',     $_ENV['DATABASE_USER']);\n",[40,2483,2484],{"class":42,"line":1188},[40,2485,2486],{},"define('DB_PASSWORD', $_ENV['DATABASE_PASSWORD']);\n",[40,2488,2489],{"class":42,"line":1214},[40,2490,2491],{},"define('DB_HOST',     'localhost');\n",[40,2493,2494],{"class":42,"line":1220},[40,2495,2496],{},"define('DB_CHARSET',  'utf8');\n",[40,2498,2499],{"class":42,"line":1225},[40,2500,2501],{},"define('DB_COLLATE',  '');\n",[40,2503,2504],{"class":42,"line":1231},[40,2505,2506],{},"\u002F\u002F ...（その他の設定は省略）\n",[271,2508],{},[18,2510,2512],{"id":2511},"_6-動作確認","6. 動作確認",[22,2514,2515,2516,2522],{},"ブラウザで ",[2517,2518,2519],"a",{"href":2519,"rel":2520},"http:\u002F\u002Fdev.wp.me",[2521],"nofollow"," にアクセスし、WordPress のインストールウィザードに従ってセットアップを完了させる。",[975,2524,2525],{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":35,"searchDepth":61,"depth":61,"links":2527},[2528,2529,2537,2542,2547,2552],{"id":1022,"depth":61,"text":1023},{"id":1082,"depth":61,"text":1083,"children":2530},[2531,2532,2533,2534,2535,2536],{"id":1086,"depth":150,"text":1087},{"id":1343,"depth":150,"text":1344},{"id":1384,"depth":150,"text":1385},{"id":1424,"depth":150,"text":1425},{"id":1450,"depth":150,"text":1451},{"id":1619,"depth":150,"text":1620},{"id":1637,"depth":61,"text":1638,"children":2538},[2539,2540,2541],{"id":1641,"depth":150,"text":1642},{"id":1703,"depth":150,"text":1704},{"id":1755,"depth":150,"text":1756},{"id":1821,"depth":61,"text":1822,"children":2543},[2544,2545,2546],{"id":1825,"depth":150,"text":1826},{"id":1857,"depth":150,"text":1858},{"id":1919,"depth":150,"text":1920},{"id":2236,"depth":61,"text":2237,"children":2548},[2549,2550,2551],{"id":2240,"depth":150,"text":2241},{"id":2349,"depth":150,"text":2350},{"id":2424,"depth":150,"text":2425},{"id":2511,"depth":61,"text":2512},{"date":997,"tags":2554,"draft":1001,"author":1002},[2555,2556,999],"Wordpress","multipass",[2555,2556,999],{"_path":5,"path":5,"stem":6,"title":7,"description":8,"body":2559,"meta":3359,"date":997,"tags":3361,"draft":1001,"author":1002},{"type":10,"value":2560,"toc":3341},[2561,2563,2565,2567,2569,2591,2601,2603,2615,2617,2622,2624,2676,2678,2738,2744,2746,2748,2750,2752,2754,2756,2778,2780,2796,2798,2812,2814,2858,2860,2876,2878,2880,2940,2942,2970,2972,2974,2976,2978,2983,2985,2987,3005,3007,3023,3025,3039,3041,3101,3105,3107,3121,3125,3127,3129,3135,3137,3147,3152,3154,3172,3174,3190,3192,3204,3206,3211,3223,3225,3277,3279,3339],[13,2562,16],{"id":15},[18,2564,20],{"id":20},[22,2566,24],{},[26,2568,28],{"id":28},[30,2570,2571],{"className":32,"code":33,"language":34,"meta":35,"style":35},[37,2572,2573,2583],{"__ignoreMap":35},[40,2574,2575,2577,2579,2581],{"class":42,"line":43},[40,2576,47],{"class":46},[40,2578,51],{"class":50},[40,2580,55],{"class":54},[40,2582,58],{"class":50},[40,2584,2585,2587,2589],{"class":42,"line":61},[40,2586,47],{"class":46},[40,2588,66],{"class":50},[40,2590,58],{"class":50},[70,2592,2593,2597],{},[73,2594,2595,78],{},[37,2596,77],{},[73,2598,2599,84],{},[37,2600,83],{},[22,2602,87],{},[30,2604,2605],{"className":32,"code":90,"language":34,"meta":35,"style":35},[37,2606,2607],{"__ignoreMap":35},[40,2608,2609,2611,2613],{"class":42,"line":43},[40,2610,97],{"class":46},[40,2612,66],{"class":50},[40,2614,58],{"class":50},[22,2616,104],{},[30,2618,2620],{"className":2619,"code":109,"language":110,"meta":35},[108],[37,2621,109],{"__ignoreMap":35},[26,2623,116],{"id":115},[30,2625,2626],{"className":119,"code":120,"language":121,"meta":35,"style":35},[37,2627,2628,2638,2644,2652,2660,2668],{"__ignoreMap":35},[40,2629,2630,2632,2634,2636],{"class":42,"line":43},[40,2631,129],{"class":128},[40,2633,133],{"class":132},[40,2635,136],{"class":128},[40,2637,139],{"class":50},[40,2639,2640,2642],{"class":42,"line":61},[40,2641,144],{"class":132},[40,2643,147],{"class":128},[40,2645,2646,2648,2650],{"class":42,"line":150},[40,2647,153],{"class":132},[40,2649,136],{"class":128},[40,2651,158],{"class":50},[40,2653,2654,2656,2658],{"class":42,"line":161},[40,2655,164],{"class":132},[40,2657,136],{"class":128},[40,2659,169],{"class":54},[40,2661,2662,2664,2666],{"class":42,"line":172},[40,2663,175],{"class":132},[40,2665,136],{"class":128},[40,2667,180],{"class":50},[40,2669,2670,2672,2674],{"class":42,"line":183},[40,2671,186],{"class":132},[40,2673,136],{"class":128},[40,2675,191],{"class":50},[22,2677,194],{},[30,2679,2680],{"className":119,"code":197,"language":121,"meta":35,"style":35},[37,2681,2682,2692,2698,2706,2714,2722,2730],{"__ignoreMap":35},[40,2683,2684,2686,2688,2690],{"class":42,"line":43},[40,2685,129],{"class":128},[40,2687,133],{"class":132},[40,2689,136],{"class":128},[40,2691,210],{"class":50},[40,2693,2694,2696],{"class":42,"line":61},[40,2695,144],{"class":132},[40,2697,147],{"class":128},[40,2699,2700,2702,2704],{"class":42,"line":150},[40,2701,153],{"class":132},[40,2703,136],{"class":128},[40,2705,158],{"class":50},[40,2707,2708,2710,2712],{"class":42,"line":161},[40,2709,229],{"class":132},[40,2711,136],{"class":128},[40,2713,234],{"class":50},[40,2715,2716,2718,2720],{"class":42,"line":172},[40,2717,164],{"class":132},[40,2719,136],{"class":128},[40,2721,169],{"class":54},[40,2723,2724,2726,2728],{"class":42,"line":183},[40,2725,175],{"class":132},[40,2727,136],{"class":128},[40,2729,180],{"class":50},[40,2731,2732,2734,2736],{"class":42,"line":253},[40,2733,186],{"class":132},[40,2735,136],{"class":128},[40,2737,191],{"class":50},[261,2739,2740],{},[22,2741,265,2742,269],{},[37,2743,268],{},[271,2745],{},[18,2747,275],{"id":275},[22,2749,278],{},[22,2751,281],{},[26,2753,28],{"id":284},[22,2755,287],{},[30,2757,2758],{"className":32,"code":33,"language":34,"meta":35,"style":35},[37,2759,2760,2770],{"__ignoreMap":35},[40,2761,2762,2764,2766,2768],{"class":42,"line":43},[40,2763,47],{"class":46},[40,2765,51],{"class":50},[40,2767,55],{"class":54},[40,2769,58],{"class":50},[40,2771,2772,2774,2776],{"class":42,"line":61},[40,2773,47],{"class":46},[40,2775,66],{"class":50},[40,2777,58],{"class":50},[22,2779,312],{},[30,2781,2782],{"className":32,"code":315,"language":34,"meta":35,"style":35},[37,2783,2784],{"__ignoreMap":35},[40,2785,2786,2788,2790,2792,2794],{"class":42,"line":43},[40,2787,47],{"class":46},[40,2789,324],{"class":50},[40,2791,327],{"class":54},[40,2793,330],{"class":54},[40,2795,58],{"class":50},[22,2797,335],{},[30,2799,2800],{"className":32,"code":338,"language":34,"meta":35,"style":35},[37,2801,2802],{"__ignoreMap":35},[40,2803,2804,2806,2808,2810],{"class":42,"line":43},[40,2805,47],{"class":46},[40,2807,324],{"class":50},[40,2809,349],{"class":54},[40,2811,58],{"class":50},[22,2813,354],{},[356,2815,2816,2824],{},[359,2817,2818],{},[362,2819,2820,2822],{},[365,2821,367],{},[365,2823,370],{},[372,2825,2826,2834,2842,2850],{},[362,2827,2828,2832],{},[377,2829,2830],{},[37,2831,381],{},[377,2833,384],{},[362,2835,2836,2840],{},[377,2837,2838],{},[37,2839,391],{},[377,2841,394],{},[362,2843,2844,2848],{},[377,2845,2846],{},[37,2847,401],{},[377,2849,404],{},[362,2851,2852,2856],{},[377,2853,2854],{},[37,2855,411],{},[377,2857,414],{},[22,2859,417],{},[30,2861,2862],{"className":32,"code":420,"language":34,"meta":35,"style":35},[37,2863,2864],{"__ignoreMap":35},[40,2865,2866,2868,2870,2872,2874],{"class":42,"line":43},[40,2867,47],{"class":46},[40,2869,324],{"class":50},[40,2871,431],{"class":54},[40,2873,434],{"class":54},[40,2875,58],{"class":50},[26,2877,116],{"id":439},[22,2879,442],{},[30,2881,2882],{"className":119,"code":445,"language":121,"meta":35,"style":35},[37,2883,2884,2894,2900,2908,2916,2924,2932],{"__ignoreMap":35},[40,2885,2886,2888,2890,2892],{"class":42,"line":43},[40,2887,129],{"class":128},[40,2889,133],{"class":132},[40,2891,136],{"class":128},[40,2893,458],{"class":50},[40,2895,2896,2898],{"class":42,"line":61},[40,2897,144],{"class":132},[40,2899,147],{"class":128},[40,2901,2902,2904,2906],{"class":42,"line":150},[40,2903,153],{"class":132},[40,2905,136],{"class":128},[40,2907,158],{"class":50},[40,2909,2910,2912,2914],{"class":42,"line":161},[40,2911,164],{"class":132},[40,2913,136],{"class":128},[40,2915,169],{"class":54},[40,2917,2918,2920,2922],{"class":42,"line":172},[40,2919,175],{"class":132},[40,2921,136],{"class":128},[40,2923,180],{"class":50},[40,2925,2926,2928,2930],{"class":42,"line":183},[40,2927,493],{"class":132},[40,2929,136],{"class":128},[40,2931,498],{"class":54},[40,2933,2934,2936,2938],{"class":42,"line":253},[40,2935,186],{"class":132},[40,2937,136],{"class":128},[40,2939,191],{"class":50},[22,2941,509],{},[30,2943,2944],{"className":119,"code":512,"language":121,"meta":35,"style":35},[37,2945,2946,2956,2962],{"__ignoreMap":35},[40,2947,2948,2950,2952,2954],{"class":42,"line":43},[40,2949,129],{"class":128},[40,2951,133],{"class":132},[40,2953,136],{"class":128},[40,2955,525],{"class":50},[40,2957,2958,2960],{"class":42,"line":61},[40,2959,530],{"class":132},[40,2961,147],{"class":128},[40,2963,2964,2966,2968],{"class":42,"line":150},[40,2965,537],{"class":132},[40,2967,136],{"class":128},[40,2969,542],{"class":50},[271,2971],{},[18,2973,547],{"id":547},[22,2975,550],{},[22,2977,553],{},[30,2979,2981],{"className":2980,"code":557,"language":110,"meta":35},[108],[37,2982,557],{"__ignoreMap":35},[26,2984,28],{"id":562},[22,2986,565],{},[30,2988,2989],{"className":32,"code":568,"language":34,"meta":35,"style":35},[37,2990,2991],{"__ignoreMap":35},[40,2992,2993,2995,2997,2999,3001,3003],{"class":42,"line":43},[40,2994,47],{"class":46},[40,2996,51],{"class":50},[40,2998,55],{"class":54},[40,3000,581],{"class":54},[40,3002,584],{"class":50},[40,3004,58],{"class":50},[22,3006,589],{},[30,3008,3009],{"className":32,"code":592,"language":34,"meta":35,"style":35},[37,3010,3011],{"__ignoreMap":35},[40,3012,3013,3015,3017,3019,3021],{"class":42,"line":43},[40,3014,47],{"class":46},[40,3016,324],{"class":50},[40,3018,603],{"class":54},[40,3020,584],{"class":50},[40,3022,58],{"class":50},[22,3024,610],{},[30,3026,3027],{"className":32,"code":338,"language":34,"meta":35,"style":35},[37,3028,3029],{"__ignoreMap":35},[40,3030,3031,3033,3035,3037],{"class":42,"line":43},[40,3032,47],{"class":46},[40,3034,324],{"class":50},[40,3036,349],{"class":54},[40,3038,58],{"class":50},[26,3040,116],{"id":627},[30,3042,3043],{"className":119,"code":630,"language":121,"meta":35,"style":35},[37,3044,3045,3055,3061,3069,3077,3085,3093],{"__ignoreMap":35},[40,3046,3047,3049,3051,3053],{"class":42,"line":43},[40,3048,129],{"class":128},[40,3050,133],{"class":132},[40,3052,136],{"class":128},[40,3054,643],{"class":50},[40,3056,3057,3059],{"class":42,"line":61},[40,3058,144],{"class":132},[40,3060,147],{"class":128},[40,3062,3063,3065,3067],{"class":42,"line":150},[40,3064,153],{"class":132},[40,3066,136],{"class":128},[40,3068,158],{"class":50},[40,3070,3071,3073,3075],{"class":42,"line":161},[40,3072,164],{"class":132},[40,3074,136],{"class":128},[40,3076,169],{"class":54},[40,3078,3079,3081,3083],{"class":42,"line":172},[40,3080,175],{"class":132},[40,3082,136],{"class":128},[40,3084,180],{"class":50},[40,3086,3087,3089,3091],{"class":42,"line":183},[40,3088,678],{"class":132},[40,3090,136],{"class":128},[40,3092,683],{"class":54},[40,3094,3095,3097,3099],{"class":42,"line":253},[40,3096,186],{"class":132},[40,3098,136],{"class":128},[40,3100,191],{"class":50},[22,3102,3103,697],{},[37,3104,696],{},[22,3106,700],{},[30,3108,3109],{"className":32,"code":703,"language":34,"meta":35,"style":35},[37,3110,3111],{"__ignoreMap":35},[40,3112,3113,3115,3117,3119],{"class":42,"line":43},[40,3114,710],{"class":46},[40,3116,431],{"class":54},[40,3118,715],{"class":50},[40,3120,718],{"class":50},[261,3122,3123],{},[22,3124,723],{},[271,3126],{},[18,3128,728],{"id":728},[22,3130,731,3131,735,3133,739],{},[37,3132,734],{},[37,3134,738],{},[22,3136,742],{},[70,3138,3139,3141,3143,3145],{},[73,3140,747],{},[73,3142,750],{},[73,3144,753],{},[73,3146,756],{},[30,3148,3150],{"className":3149,"code":760,"language":110,"meta":35},[108],[37,3151,760],{"__ignoreMap":35},[26,3153,28],{"id":765},[30,3155,3156],{"className":32,"code":768,"language":34,"meta":35,"style":35},[37,3157,3158],{"__ignoreMap":35},[40,3159,3160,3162,3164,3166,3168,3170],{"class":42,"line":43},[40,3161,47],{"class":46},[40,3163,51],{"class":50},[40,3165,55],{"class":54},[40,3167,781],{"class":54},[40,3169,784],{"class":50},[40,3171,58],{"class":50},[22,3173,789],{},[30,3175,3176],{"className":32,"code":792,"language":34,"meta":35,"style":35},[37,3177,3178],{"__ignoreMap":35},[40,3179,3180,3182,3184,3186,3188],{"class":42,"line":43},[40,3181,47],{"class":46},[40,3183,801],{"class":50},[40,3185,781],{"class":54},[40,3187,784],{"class":50},[40,3189,58],{"class":50},[22,3191,610],{},[30,3193,3194],{"className":32,"code":90,"language":34,"meta":35,"style":35},[37,3195,3196],{"__ignoreMap":35},[40,3197,3198,3200,3202],{"class":42,"line":43},[40,3199,97],{"class":46},[40,3201,66],{"class":50},[40,3203,58],{"class":50},[22,3205,104],{},[30,3207,3209],{"className":3208,"code":827,"language":110,"meta":35},[108],[37,3210,827],{"__ignoreMap":35},[261,3212,3213],{},[22,3214,3215,836,3217,839,3219,843,3221,847],{},[37,3216,734],{},[37,3218,738],{},[37,3220,842],{},[37,3222,846],{},[26,3224,116],{"id":850},[30,3226,3227],{"className":119,"code":853,"language":121,"meta":35,"style":35},[37,3228,3229,3239,3245,3253,3261,3269],{"__ignoreMap":35},[40,3230,3231,3233,3235,3237],{"class":42,"line":43},[40,3232,129],{"class":128},[40,3234,133],{"class":132},[40,3236,136],{"class":128},[40,3238,866],{"class":50},[40,3240,3241,3243],{"class":42,"line":61},[40,3242,144],{"class":132},[40,3244,147],{"class":128},[40,3246,3247,3249,3251],{"class":42,"line":150},[40,3248,153],{"class":132},[40,3250,136],{"class":128},[40,3252,158],{"class":50},[40,3254,3255,3257,3259],{"class":42,"line":161},[40,3256,164],{"class":132},[40,3258,136],{"class":128},[40,3260,169],{"class":54},[40,3262,3263,3265,3267],{"class":42,"line":172},[40,3264,175],{"class":132},[40,3266,136],{"class":128},[40,3268,897],{"class":50},[40,3270,3271,3273,3275],{"class":42,"line":183},[40,3272,186],{"class":132},[40,3274,136],{"class":128},[40,3276,191],{"class":50},[22,3278,908],{},[30,3280,3281],{"className":119,"code":911,"language":121,"meta":35,"style":35},[37,3282,3283,3293,3299,3307,3315,3323,3331],{"__ignoreMap":35},[40,3284,3285,3287,3289,3291],{"class":42,"line":43},[40,3286,129],{"class":128},[40,3288,133],{"class":132},[40,3290,136],{"class":128},[40,3292,924],{"class":50},[40,3294,3295,3297],{"class":42,"line":61},[40,3296,144],{"class":132},[40,3298,147],{"class":128},[40,3300,3301,3303,3305],{"class":42,"line":150},[40,3302,153],{"class":132},[40,3304,136],{"class":128},[40,3306,939],{"class":50},[40,3308,3309,3311,3313],{"class":42,"line":161},[40,3310,164],{"class":132},[40,3312,136],{"class":128},[40,3314,948],{"class":54},[40,3316,3317,3319,3321],{"class":42,"line":172},[40,3318,175],{"class":132},[40,3320,136],{"class":128},[40,3322,897],{"class":50},[40,3324,3325,3327,3329],{"class":42,"line":183},[40,3326,961],{"class":132},[40,3328,136],{"class":128},[40,3330,169],{"class":54},[40,3332,3333,3335,3337],{"class":42,"line":253},[40,3334,186],{"class":132},[40,3336,136],{"class":128},[40,3338,191],{"class":50},[975,3340,977],{},{"title":35,"searchDepth":61,"depth":61,"links":3342},[3343,3347,3351,3355],{"id":20,"depth":61,"text":20,"children":3344},[3345,3346],{"id":28,"depth":150,"text":28},{"id":115,"depth":150,"text":116},{"id":275,"depth":61,"text":275,"children":3348},[3349,3350],{"id":284,"depth":150,"text":28},{"id":439,"depth":150,"text":116},{"id":547,"depth":61,"text":547,"children":3352},[3353,3354],{"id":562,"depth":150,"text":28},{"id":627,"depth":150,"text":116},{"id":728,"depth":61,"text":728,"children":3356},[3357,3358],{"id":765,"depth":150,"text":28},{"id":850,"depth":150,"text":116},{"date":997,"tags":3360,"draft":1001,"author":1002},[999,1000],[999,1000],[3363,4167],{"_path":5,"path":5,"stem":6,"title":7,"description":8,"body":3364,"meta":4164,"date":997,"tags":4166,"draft":1001,"author":1002},{"type":10,"value":3365,"toc":4146},[3366,3368,3370,3372,3374,3396,3406,3408,3420,3422,3427,3429,3481,3483,3543,3549,3551,3553,3555,3557,3559,3561,3583,3585,3601,3603,3617,3619,3663,3665,3681,3683,3685,3745,3747,3775,3777,3779,3781,3783,3788,3790,3792,3810,3812,3828,3830,3844,3846,3906,3910,3912,3926,3930,3932,3934,3940,3942,3952,3957,3959,3977,3979,3995,3997,4009,4011,4016,4028,4030,4082,4084,4144],[13,3367,16],{"id":15},[18,3369,20],{"id":20},[22,3371,24],{},[26,3373,28],{"id":28},[30,3375,3376],{"className":32,"code":33,"language":34,"meta":35,"style":35},[37,3377,3378,3388],{"__ignoreMap":35},[40,3379,3380,3382,3384,3386],{"class":42,"line":43},[40,3381,47],{"class":46},[40,3383,51],{"class":50},[40,3385,55],{"class":54},[40,3387,58],{"class":50},[40,3389,3390,3392,3394],{"class":42,"line":61},[40,3391,47],{"class":46},[40,3393,66],{"class":50},[40,3395,58],{"class":50},[70,3397,3398,3402],{},[73,3399,3400,78],{},[37,3401,77],{},[73,3403,3404,84],{},[37,3405,83],{},[22,3407,87],{},[30,3409,3410],{"className":32,"code":90,"language":34,"meta":35,"style":35},[37,3411,3412],{"__ignoreMap":35},[40,3413,3414,3416,3418],{"class":42,"line":43},[40,3415,97],{"class":46},[40,3417,66],{"class":50},[40,3419,58],{"class":50},[22,3421,104],{},[30,3423,3425],{"className":3424,"code":109,"language":110,"meta":35},[108],[37,3426,109],{"__ignoreMap":35},[26,3428,116],{"id":115},[30,3430,3431],{"className":119,"code":120,"language":121,"meta":35,"style":35},[37,3432,3433,3443,3449,3457,3465,3473],{"__ignoreMap":35},[40,3434,3435,3437,3439,3441],{"class":42,"line":43},[40,3436,129],{"class":128},[40,3438,133],{"class":132},[40,3440,136],{"class":128},[40,3442,139],{"class":50},[40,3444,3445,3447],{"class":42,"line":61},[40,3446,144],{"class":132},[40,3448,147],{"class":128},[40,3450,3451,3453,3455],{"class":42,"line":150},[40,3452,153],{"class":132},[40,3454,136],{"class":128},[40,3456,158],{"class":50},[40,3458,3459,3461,3463],{"class":42,"line":161},[40,3460,164],{"class":132},[40,3462,136],{"class":128},[40,3464,169],{"class":54},[40,3466,3467,3469,3471],{"class":42,"line":172},[40,3468,175],{"class":132},[40,3470,136],{"class":128},[40,3472,180],{"class":50},[40,3474,3475,3477,3479],{"class":42,"line":183},[40,3476,186],{"class":132},[40,3478,136],{"class":128},[40,3480,191],{"class":50},[22,3482,194],{},[30,3484,3485],{"className":119,"code":197,"language":121,"meta":35,"style":35},[37,3486,3487,3497,3503,3511,3519,3527,3535],{"__ignoreMap":35},[40,3488,3489,3491,3493,3495],{"class":42,"line":43},[40,3490,129],{"class":128},[40,3492,133],{"class":132},[40,3494,136],{"class":128},[40,3496,210],{"class":50},[40,3498,3499,3501],{"class":42,"line":61},[40,3500,144],{"class":132},[40,3502,147],{"class":128},[40,3504,3505,3507,3509],{"class":42,"line":150},[40,3506,153],{"class":132},[40,3508,136],{"class":128},[40,3510,158],{"class":50},[40,3512,3513,3515,3517],{"class":42,"line":161},[40,3514,229],{"class":132},[40,3516,136],{"class":128},[40,3518,234],{"class":50},[40,3520,3521,3523,3525],{"class":42,"line":172},[40,3522,164],{"class":132},[40,3524,136],{"class":128},[40,3526,169],{"class":54},[40,3528,3529,3531,3533],{"class":42,"line":183},[40,3530,175],{"class":132},[40,3532,136],{"class":128},[40,3534,180],{"class":50},[40,3536,3537,3539,3541],{"class":42,"line":253},[40,3538,186],{"class":132},[40,3540,136],{"class":128},[40,3542,191],{"class":50},[261,3544,3545],{},[22,3546,265,3547,269],{},[37,3548,268],{},[271,3550],{},[18,3552,275],{"id":275},[22,3554,278],{},[22,3556,281],{},[26,3558,28],{"id":284},[22,3560,287],{},[30,3562,3563],{"className":32,"code":33,"language":34,"meta":35,"style":35},[37,3564,3565,3575],{"__ignoreMap":35},[40,3566,3567,3569,3571,3573],{"class":42,"line":43},[40,3568,47],{"class":46},[40,3570,51],{"class":50},[40,3572,55],{"class":54},[40,3574,58],{"class":50},[40,3576,3577,3579,3581],{"class":42,"line":61},[40,3578,47],{"class":46},[40,3580,66],{"class":50},[40,3582,58],{"class":50},[22,3584,312],{},[30,3586,3587],{"className":32,"code":315,"language":34,"meta":35,"style":35},[37,3588,3589],{"__ignoreMap":35},[40,3590,3591,3593,3595,3597,3599],{"class":42,"line":43},[40,3592,47],{"class":46},[40,3594,324],{"class":50},[40,3596,327],{"class":54},[40,3598,330],{"class":54},[40,3600,58],{"class":50},[22,3602,335],{},[30,3604,3605],{"className":32,"code":338,"language":34,"meta":35,"style":35},[37,3606,3607],{"__ignoreMap":35},[40,3608,3609,3611,3613,3615],{"class":42,"line":43},[40,3610,47],{"class":46},[40,3612,324],{"class":50},[40,3614,349],{"class":54},[40,3616,58],{"class":50},[22,3618,354],{},[356,3620,3621,3629],{},[359,3622,3623],{},[362,3624,3625,3627],{},[365,3626,367],{},[365,3628,370],{},[372,3630,3631,3639,3647,3655],{},[362,3632,3633,3637],{},[377,3634,3635],{},[37,3636,381],{},[377,3638,384],{},[362,3640,3641,3645],{},[377,3642,3643],{},[37,3644,391],{},[377,3646,394],{},[362,3648,3649,3653],{},[377,3650,3651],{},[37,3652,401],{},[377,3654,404],{},[362,3656,3657,3661],{},[377,3658,3659],{},[37,3660,411],{},[377,3662,414],{},[22,3664,417],{},[30,3666,3667],{"className":32,"code":420,"language":34,"meta":35,"style":35},[37,3668,3669],{"__ignoreMap":35},[40,3670,3671,3673,3675,3677,3679],{"class":42,"line":43},[40,3672,47],{"class":46},[40,3674,324],{"class":50},[40,3676,431],{"class":54},[40,3678,434],{"class":54},[40,3680,58],{"class":50},[26,3682,116],{"id":439},[22,3684,442],{},[30,3686,3687],{"className":119,"code":445,"language":121,"meta":35,"style":35},[37,3688,3689,3699,3705,3713,3721,3729,3737],{"__ignoreMap":35},[40,3690,3691,3693,3695,3697],{"class":42,"line":43},[40,3692,129],{"class":128},[40,3694,133],{"class":132},[40,3696,136],{"class":128},[40,3698,458],{"class":50},[40,3700,3701,3703],{"class":42,"line":61},[40,3702,144],{"class":132},[40,3704,147],{"class":128},[40,3706,3707,3709,3711],{"class":42,"line":150},[40,3708,153],{"class":132},[40,3710,136],{"class":128},[40,3712,158],{"class":50},[40,3714,3715,3717,3719],{"class":42,"line":161},[40,3716,164],{"class":132},[40,3718,136],{"class":128},[40,3720,169],{"class":54},[40,3722,3723,3725,3727],{"class":42,"line":172},[40,3724,175],{"class":132},[40,3726,136],{"class":128},[40,3728,180],{"class":50},[40,3730,3731,3733,3735],{"class":42,"line":183},[40,3732,493],{"class":132},[40,3734,136],{"class":128},[40,3736,498],{"class":54},[40,3738,3739,3741,3743],{"class":42,"line":253},[40,3740,186],{"class":132},[40,3742,136],{"class":128},[40,3744,191],{"class":50},[22,3746,509],{},[30,3748,3749],{"className":119,"code":512,"language":121,"meta":35,"style":35},[37,3750,3751,3761,3767],{"__ignoreMap":35},[40,3752,3753,3755,3757,3759],{"class":42,"line":43},[40,3754,129],{"class":128},[40,3756,133],{"class":132},[40,3758,136],{"class":128},[40,3760,525],{"class":50},[40,3762,3763,3765],{"class":42,"line":61},[40,3764,530],{"class":132},[40,3766,147],{"class":128},[40,3768,3769,3771,3773],{"class":42,"line":150},[40,3770,537],{"class":132},[40,3772,136],{"class":128},[40,3774,542],{"class":50},[271,3776],{},[18,3778,547],{"id":547},[22,3780,550],{},[22,3782,553],{},[30,3784,3786],{"className":3785,"code":557,"language":110,"meta":35},[108],[37,3787,557],{"__ignoreMap":35},[26,3789,28],{"id":562},[22,3791,565],{},[30,3793,3794],{"className":32,"code":568,"language":34,"meta":35,"style":35},[37,3795,3796],{"__ignoreMap":35},[40,3797,3798,3800,3802,3804,3806,3808],{"class":42,"line":43},[40,3799,47],{"class":46},[40,3801,51],{"class":50},[40,3803,55],{"class":54},[40,3805,581],{"class":54},[40,3807,584],{"class":50},[40,3809,58],{"class":50},[22,3811,589],{},[30,3813,3814],{"className":32,"code":592,"language":34,"meta":35,"style":35},[37,3815,3816],{"__ignoreMap":35},[40,3817,3818,3820,3822,3824,3826],{"class":42,"line":43},[40,3819,47],{"class":46},[40,3821,324],{"class":50},[40,3823,603],{"class":54},[40,3825,584],{"class":50},[40,3827,58],{"class":50},[22,3829,610],{},[30,3831,3832],{"className":32,"code":338,"language":34,"meta":35,"style":35},[37,3833,3834],{"__ignoreMap":35},[40,3835,3836,3838,3840,3842],{"class":42,"line":43},[40,3837,47],{"class":46},[40,3839,324],{"class":50},[40,3841,349],{"class":54},[40,3843,58],{"class":50},[26,3845,116],{"id":627},[30,3847,3848],{"className":119,"code":630,"language":121,"meta":35,"style":35},[37,3849,3850,3860,3866,3874,3882,3890,3898],{"__ignoreMap":35},[40,3851,3852,3854,3856,3858],{"class":42,"line":43},[40,3853,129],{"class":128},[40,3855,133],{"class":132},[40,3857,136],{"class":128},[40,3859,643],{"class":50},[40,3861,3862,3864],{"class":42,"line":61},[40,3863,144],{"class":132},[40,3865,147],{"class":128},[40,3867,3868,3870,3872],{"class":42,"line":150},[40,3869,153],{"class":132},[40,3871,136],{"class":128},[40,3873,158],{"class":50},[40,3875,3876,3878,3880],{"class":42,"line":161},[40,3877,164],{"class":132},[40,3879,136],{"class":128},[40,3881,169],{"class":54},[40,3883,3884,3886,3888],{"class":42,"line":172},[40,3885,175],{"class":132},[40,3887,136],{"class":128},[40,3889,180],{"class":50},[40,3891,3892,3894,3896],{"class":42,"line":183},[40,3893,678],{"class":132},[40,3895,136],{"class":128},[40,3897,683],{"class":54},[40,3899,3900,3902,3904],{"class":42,"line":253},[40,3901,186],{"class":132},[40,3903,136],{"class":128},[40,3905,191],{"class":50},[22,3907,3908,697],{},[37,3909,696],{},[22,3911,700],{},[30,3913,3914],{"className":32,"code":703,"language":34,"meta":35,"style":35},[37,3915,3916],{"__ignoreMap":35},[40,3917,3918,3920,3922,3924],{"class":42,"line":43},[40,3919,710],{"class":46},[40,3921,431],{"class":54},[40,3923,715],{"class":50},[40,3925,718],{"class":50},[261,3927,3928],{},[22,3929,723],{},[271,3931],{},[18,3933,728],{"id":728},[22,3935,731,3936,735,3938,739],{},[37,3937,734],{},[37,3939,738],{},[22,3941,742],{},[70,3943,3944,3946,3948,3950],{},[73,3945,747],{},[73,3947,750],{},[73,3949,753],{},[73,3951,756],{},[30,3953,3955],{"className":3954,"code":760,"language":110,"meta":35},[108],[37,3956,760],{"__ignoreMap":35},[26,3958,28],{"id":765},[30,3960,3961],{"className":32,"code":768,"language":34,"meta":35,"style":35},[37,3962,3963],{"__ignoreMap":35},[40,3964,3965,3967,3969,3971,3973,3975],{"class":42,"line":43},[40,3966,47],{"class":46},[40,3968,51],{"class":50},[40,3970,55],{"class":54},[40,3972,781],{"class":54},[40,3974,784],{"class":50},[40,3976,58],{"class":50},[22,3978,789],{},[30,3980,3981],{"className":32,"code":792,"language":34,"meta":35,"style":35},[37,3982,3983],{"__ignoreMap":35},[40,3984,3985,3987,3989,3991,3993],{"class":42,"line":43},[40,3986,47],{"class":46},[40,3988,801],{"class":50},[40,3990,781],{"class":54},[40,3992,784],{"class":50},[40,3994,58],{"class":50},[22,3996,610],{},[30,3998,3999],{"className":32,"code":90,"language":34,"meta":35,"style":35},[37,4000,4001],{"__ignoreMap":35},[40,4002,4003,4005,4007],{"class":42,"line":43},[40,4004,97],{"class":46},[40,4006,66],{"class":50},[40,4008,58],{"class":50},[22,4010,104],{},[30,4012,4014],{"className":4013,"code":827,"language":110,"meta":35},[108],[37,4015,827],{"__ignoreMap":35},[261,4017,4018],{},[22,4019,4020,836,4022,839,4024,843,4026,847],{},[37,4021,734],{},[37,4023,738],{},[37,4025,842],{},[37,4027,846],{},[26,4029,116],{"id":850},[30,4031,4032],{"className":119,"code":853,"language":121,"meta":35,"style":35},[37,4033,4034,4044,4050,4058,4066,4074],{"__ignoreMap":35},[40,4035,4036,4038,4040,4042],{"class":42,"line":43},[40,4037,129],{"class":128},[40,4039,133],{"class":132},[40,4041,136],{"class":128},[40,4043,866],{"class":50},[40,4045,4046,4048],{"class":42,"line":61},[40,4047,144],{"class":132},[40,4049,147],{"class":128},[40,4051,4052,4054,4056],{"class":42,"line":150},[40,4053,153],{"class":132},[40,4055,136],{"class":128},[40,4057,158],{"class":50},[40,4059,4060,4062,4064],{"class":42,"line":161},[40,4061,164],{"class":132},[40,4063,136],{"class":128},[40,4065,169],{"class":54},[40,4067,4068,4070,4072],{"class":42,"line":172},[40,4069,175],{"class":132},[40,4071,136],{"class":128},[40,4073,897],{"class":50},[40,4075,4076,4078,4080],{"class":42,"line":183},[40,4077,186],{"class":132},[40,4079,136],{"class":128},[40,4081,191],{"class":50},[22,4083,908],{},[30,4085,4086],{"className":119,"code":911,"language":121,"meta":35,"style":35},[37,4087,4088,4098,4104,4112,4120,4128,4136],{"__ignoreMap":35},[40,4089,4090,4092,4094,4096],{"class":42,"line":43},[40,4091,129],{"class":128},[40,4093,133],{"class":132},[40,4095,136],{"class":128},[40,4097,924],{"class":50},[40,4099,4100,4102],{"class":42,"line":61},[40,4101,144],{"class":132},[40,4103,147],{"class":128},[40,4105,4106,4108,4110],{"class":42,"line":150},[40,4107,153],{"class":132},[40,4109,136],{"class":128},[40,4111,939],{"class":50},[40,4113,4114,4116,4118],{"class":42,"line":161},[40,4115,164],{"class":132},[40,4117,136],{"class":128},[40,4119,948],{"class":54},[40,4121,4122,4124,4126],{"class":42,"line":172},[40,4123,175],{"class":132},[40,4125,136],{"class":128},[40,4127,897],{"class":50},[40,4129,4130,4132,4134],{"class":42,"line":183},[40,4131,961],{"class":132},[40,4133,136],{"class":128},[40,4135,169],{"class":54},[40,4137,4138,4140,4142],{"class":42,"line":253},[40,4139,186],{"class":132},[40,4141,136],{"class":128},[40,4143,191],{"class":50},[975,4145,977],{},{"title":35,"searchDepth":61,"depth":61,"links":4147},[4148,4152,4156,4160],{"id":20,"depth":61,"text":20,"children":4149},[4150,4151],{"id":28,"depth":150,"text":28},{"id":115,"depth":150,"text":116},{"id":275,"depth":61,"text":275,"children":4153},[4154,4155],{"id":284,"depth":150,"text":28},{"id":439,"depth":150,"text":116},{"id":547,"depth":61,"text":547,"children":4157},[4158,4159],{"id":562,"depth":150,"text":28},{"id":627,"depth":150,"text":116},{"id":728,"depth":61,"text":728,"children":4161},[4162,4163],{"id":765,"depth":150,"text":28},{"id":850,"depth":150,"text":116},{"date":997,"tags":4165,"draft":1001,"author":1002},[999,1000],[999,1000],{"_path":1005,"path":1005,"stem":1006,"title":1007,"description":1008,"body":4168,"meta":5355,"date":997,"tags":5357,"draft":1001,"author":1002},{"type":10,"value":4169,"toc":5328},[4170,4172,4174,4176,4178,4220,4222,4224,4226,4412,4414,4420,4440,4442,4446,4470,4472,4480,4488,4490,4494,4528,4532,4608,4620,4622,4626,4631,4633,4635,4637,4641,4685,4687,4691,4723,4725,4731,4771,4773,4775,4777,4801,4803,4819,4847,4849,4853,4873,4897,4901,4931,5101,5103,5105,5107,5191,5193,5197,5237,5249,5251,5261,5317,5319,5321,5326],[13,4171,1013],{"id":1013},[22,4173,1016],{},[13,4175,1019],{"id":1019},[18,4177,1023],{"id":1022},[356,4179,4180,4188],{},[359,4181,4182],{},[362,4183,4184,4186],{},[365,4185,1032],{},[365,4187,1035],{},[372,4189,4190,4196,4202,4208,4214],{},[362,4191,4192,4194],{},[377,4193,1042],{},[377,4195,1045],{},[362,4197,4198,4200],{},[377,4199,1050],{},[377,4201,1053],{},[362,4203,4204,4206],{},[377,4205,1058],{},[377,4207,1061],{},[362,4209,4210,4212],{},[377,4211,1066],{},[377,4213,1069],{},[362,4215,4216,4218],{},[377,4217,1074],{},[377,4219,1077],{},[271,4221],{},[18,4223,1083],{"id":1082},[26,4225,1087],{"id":1086},[30,4227,4228],{"className":32,"code":1090,"language":34,"meta":35,"style":35},[37,4229,4230,4234,4252,4256,4260,4274,4288,4292,4296,4314,4318,4322,4326,4334,4346,4356,4360,4364,4372,4382,4392,4402],{"__ignoreMap":35},[40,4231,4232],{"class":42,"line":43},[40,4233,1098],{"class":1097},[40,4235,4236,4238,4240,4242,4244,4246,4248,4250],{"class":42,"line":61},[40,4237,47],{"class":46},[40,4239,1105],{"class":50},[40,4241,1108],{"class":50},[40,4243,1111],{"class":50},[40,4245,1114],{"class":50},[40,4247,1117],{"class":50},[40,4249,1120],{"class":50},[40,4251,1123],{"class":50},[40,4253,4254],{"class":42,"line":150},[40,4255,1129],{"emptyLinePlaceholder":1128},[40,4257,4258],{"class":42,"line":161},[40,4259,1134],{"class":1097},[40,4261,4262,4264,4266,4268,4270,4272],{"class":42,"line":172},[40,4263,1139],{"class":46},[40,4265,1142],{"class":50},[40,4267,1146],{"class":1145},[40,4269,1149],{"class":46},[40,4271,1152],{"class":54},[40,4273,1155],{"class":54},[40,4275,4276,4278,4280,4282,4284,4286],{"class":42,"line":183},[40,4277,1160],{"class":1145},[40,4279,1163],{"class":46},[40,4281,1166],{"class":50},[40,4283,1169],{"class":50},[40,4285,1172],{"class":1145},[40,4287,1175],{"class":50},[40,4289,4290],{"class":42,"line":253},[40,4291,1129],{"emptyLinePlaceholder":1128},[40,4293,4294],{"class":42,"line":1182},[40,4295,1185],{"class":1097},[40,4297,4298,4300,4302,4304,4306,4308,4310,4312],{"class":42,"line":1188},[40,4299,1191],{"class":46},[40,4301,1194],{"class":54},[40,4303,1197],{"class":54},[40,4305,1200],{"class":54},[40,4307,1203],{"class":54},[40,4309,1206],{"class":54},[40,4311,1209],{"class":50},[40,4313,1155],{"class":54},[40,4315,4316],{"class":42,"line":1214},[40,4317,1217],{"class":50},[40,4319,4320],{"class":42,"line":1220},[40,4321,1129],{"emptyLinePlaceholder":1128},[40,4323,4324],{"class":42,"line":1225},[40,4325,1228],{"class":1097},[40,4327,4328,4330,4332],{"class":42,"line":1231},[40,4329,1234],{"class":54},[40,4331,1237],{"class":50},[40,4333,1240],{"class":54},[40,4335,4336,4338,4340,4342,4344],{"class":42,"line":1243},[40,4337,1246],{"class":50},[40,4339,1249],{"class":46},[40,4341,1252],{"class":54},[40,4343,1255],{"class":50},[40,4345,1155],{"class":54},[40,4347,4348,4350,4352,4354],{"class":42,"line":1260},[40,4349,1160],{"class":1145},[40,4351,1163],{"class":46},[40,4353,1166],{"class":50},[40,4355,1269],{"class":50},[40,4357,4358],{"class":42,"line":1272},[40,4359,1129],{"emptyLinePlaceholder":1128},[40,4361,4362],{"class":42,"line":1277},[40,4363,1280],{"class":1097},[40,4365,4366,4368,4370],{"class":42,"line":1283},[40,4367,47],{"class":46},[40,4369,1105],{"class":50},[40,4371,1290],{"class":50},[40,4373,4374,4376,4378,4380],{"class":42,"line":1293},[40,4375,47],{"class":46},[40,4377,1105],{"class":50},[40,4379,1108],{"class":50},[40,4381,1302],{"class":50},[40,4383,4384,4386,4388,4390],{"class":42,"line":1305},[40,4385,47],{"class":46},[40,4387,1310],{"class":50},[40,4389,1313],{"class":50},[40,4391,1316],{"class":50},[40,4393,4394,4396,4398,4400],{"class":42,"line":1319},[40,4395,47],{"class":46},[40,4397,1310],{"class":50},[40,4399,1326],{"class":50},[40,4401,1316],{"class":50},[40,4403,4404,4406,4408,4410],{"class":42,"line":1331},[40,4405,47],{"class":46},[40,4407,1310],{"class":50},[40,4409,1338],{"class":50},[40,4411,1316],{"class":50},[26,4413,1344],{"id":1343},[22,4415,4416,1350,4418,1354],{},[37,4417,1349],{},[37,4419,1353],{},[30,4421,4422],{"className":1357,"code":1358,"language":1359,"meta":35,"style":35},[37,4423,4424,4428,4432,4436],{"__ignoreMap":35},[40,4425,4426],{"class":42,"line":43},[40,4427,1366],{},[40,4429,4430],{"class":42,"line":61},[40,4431,1371],{},[40,4433,4434],{"class":42,"line":150},[40,4435,1376],{},[40,4437,4438],{"class":42,"line":161},[40,4439,1381],{},[26,4441,1385],{"id":1384},[22,4443,1388,4444,1391],{},[37,4445,1349],{},[30,4447,4448],{"className":1357,"code":1394,"language":1359,"meta":35,"style":35},[37,4449,4450,4454,4458,4462,4466],{"__ignoreMap":35},[40,4451,4452],{"class":42,"line":43},[40,4453,1401],{},[40,4455,4456],{"class":42,"line":61},[40,4457,1406],{},[40,4459,4460],{"class":42,"line":150},[40,4461,1411],{},[40,4463,4464],{"class":42,"line":161},[40,4465,1416],{},[40,4467,4468],{"class":42,"line":172},[40,4469,1421],{},[26,4471,1425],{"id":1424},[22,4473,4474,1350,4476,1434,4478,1438],{},[37,4475,1430],{},[37,4477,1433],{},[37,4479,1437],{},[30,4481,4482],{"className":1357,"code":1441,"language":1359,"meta":35,"style":35},[37,4483,4484],{"__ignoreMap":35},[40,4485,4486],{"class":42,"line":43},[40,4487,1441],{},[26,4489,1451],{"id":1450},[22,4491,1454,4492,1458],{},[37,4493,1457],{},[30,4495,4496],{"className":32,"code":1461,"language":34,"meta":35,"style":35},[37,4497,4498,4506,4518],{"__ignoreMap":35},[40,4499,4500,4502,4504],{"class":42,"line":43},[40,4501,47],{"class":46},[40,4503,1470],{"class":50},[40,4505,1473],{"class":50},[40,4507,4508,4510,4512,4514,4516],{"class":42,"line":61},[40,4509,47],{"class":46},[40,4511,1480],{"class":50},[40,4513,781],{"class":54},[40,4515,1485],{"class":50},[40,4517,1488],{"class":50},[40,4519,4520,4522,4524,4526],{"class":42,"line":150},[40,4521,47],{"class":46},[40,4523,1310],{"class":50},[40,4525,1497],{"class":50},[40,4527,1316],{"class":50},[22,4529,4530,1505],{},[37,4531,1504],{},[30,4533,4534],{"className":1357,"code":1508,"language":1359,"meta":35,"style":35},[37,4535,4536,4540,4544,4548,4552,4556,4560,4564,4568,4572,4576,4580,4584,4588,4592,4596,4600,4604],{"__ignoreMap":35},[40,4537,4538],{"class":42,"line":43},[40,4539,1515],{},[40,4541,4542],{"class":42,"line":61},[40,4543,1520],{},[40,4545,4546],{"class":42,"line":150},[40,4547,1525],{},[40,4549,4550],{"class":42,"line":161},[40,4551,1530],{},[40,4553,4554],{"class":42,"line":172},[40,4555,1535],{},[40,4557,4558],{"class":42,"line":183},[40,4559,1129],{"emptyLinePlaceholder":1128},[40,4561,4562],{"class":42,"line":253},[40,4563,1544],{},[40,4565,4566],{"class":42,"line":1182},[40,4567,1549],{},[40,4569,4570],{"class":42,"line":1188},[40,4571,1129],{"emptyLinePlaceholder":1128},[40,4573,4574],{"class":42,"line":1214},[40,4575,1558],{},[40,4577,4578],{"class":42,"line":1220},[40,4579,1563],{},[40,4581,4582],{"class":42,"line":1225},[40,4583,1568],{},[40,4585,4586],{"class":42,"line":1231},[40,4587,1129],{"emptyLinePlaceholder":1128},[40,4589,4590],{"class":42,"line":1243},[40,4591,1577],{},[40,4593,4594],{"class":42,"line":1260},[40,4595,1582],{},[40,4597,4598],{"class":42,"line":1272},[40,4599,1587],{},[40,4601,4602],{"class":42,"line":1277},[40,4603,1568],{},[40,4605,4606],{"class":42,"line":1283},[40,4607,1381],{},[261,4609,4610],{},[22,4611,4612,1604,4614,1608,4616,1612,4618,1616],{},[1601,4613,1603],{},[37,4615,1607],{},[37,4617,1611],{},[37,4619,1615],{},[26,4621,1620],{"id":1619},[22,4623,1623,4624,1391],{},[37,4625,1626],{},[30,4627,4629],{"className":4628,"code":1630,"language":110},[108],[37,4630,1630],{"__ignoreMap":35},[271,4632],{},[18,4634,1638],{"id":1637},[26,4636,1642],{"id":1641},[22,4638,1645,4639,1649],{},[37,4640,1648],{},[30,4642,4643],{"className":32,"code":1652,"language":34,"meta":35,"style":35},[37,4644,4645,4653,4661,4671,4675,4681],{"__ignoreMap":35},[40,4646,4647,4649,4651],{"class":42,"line":43},[40,4648,47],{"class":46},[40,4650,1661],{"class":50},[40,4652,1664],{"class":50},[40,4654,4655,4657,4659],{"class":42,"line":61},[40,4656,47],{"class":46},[40,4658,1105],{"class":50},[40,4660,1290],{"class":50},[40,4662,4663,4665,4667,4669],{"class":42,"line":150},[40,4664,47],{"class":46},[40,4666,1105],{"class":50},[40,4668,1108],{"class":50},[40,4670,1683],{"class":50},[40,4672,4673],{"class":42,"line":161},[40,4674,1129],{"emptyLinePlaceholder":1128},[40,4676,4677,4679],{"class":42,"line":172},[40,4678,1692],{"class":46},[40,4680,1695],{"class":54},[40,4682,4683],{"class":42,"line":183},[40,4684,1700],{"class":1097},[26,4686,1704],{"id":1703},[22,4688,4689,1710],{},[37,4690,1709],{},[30,4692,4693],{"className":1713,"code":1714,"language":1715,"meta":35,"style":35},[37,4694,4695,4699,4703,4707,4711,4715,4719],{"__ignoreMap":35},[40,4696,4697],{"class":42,"line":43},[40,4698,1722],{},[40,4700,4701],{"class":42,"line":61},[40,4702,1727],{},[40,4704,4705],{"class":42,"line":150},[40,4706,1732],{},[40,4708,4709],{"class":42,"line":161},[40,4710,1737],{},[40,4712,4713],{"class":42,"line":172},[40,4714,1742],{},[40,4716,4717],{"class":42,"line":183},[40,4718,1747],{},[40,4720,4721],{"class":42,"line":253},[40,4722,1752],{},[26,4724,1756],{"id":1755},[22,4726,4727,1762,4729,1766],{},[37,4728,1761],{},[37,4730,1765],{},[30,4732,4733],{"className":1713,"code":1769,"language":1715,"meta":35,"style":35},[37,4734,4735,4739,4743,4747,4751,4755,4759,4763,4767],{"__ignoreMap":35},[40,4736,4737],{"class":42,"line":43},[40,4738,1776],{},[40,4740,4741],{"class":42,"line":61},[40,4742,1781],{},[40,4744,4745],{"class":42,"line":150},[40,4746,1786],{},[40,4748,4749],{"class":42,"line":161},[40,4750,1791],{},[40,4752,4753],{"class":42,"line":172},[40,4754,1796],{},[40,4756,4757],{"class":42,"line":183},[40,4758,1801],{},[40,4760,4761],{"class":42,"line":253},[40,4762,1806],{},[40,4764,4765],{"class":42,"line":1182},[40,4766,1811],{},[40,4768,4769],{"class":42,"line":1188},[40,4770,1816],{},[271,4772],{},[18,4774,1822],{"id":1821},[26,4776,1826],{"id":1825},[30,4778,4779],{"className":32,"code":1829,"language":34,"meta":35,"style":35},[37,4780,4781,4789],{"__ignoreMap":35},[40,4782,4783,4785,4787],{"class":42,"line":43},[40,4784,47],{"class":46},[40,4786,1838],{"class":50},[40,4788,1290],{"class":50},[40,4790,4791,4793,4795,4797,4799],{"class":42,"line":61},[40,4792,47],{"class":46},[40,4794,1838],{"class":50},[40,4796,1108],{"class":50},[40,4798,1851],{"class":50},[40,4800,1854],{"class":50},[26,4802,1858],{"id":1857},[30,4804,4805],{"className":32,"code":1861,"language":34,"meta":35,"style":35},[37,4806,4807],{"__ignoreMap":35},[40,4808,4809,4811,4813,4815,4817],{"class":42,"line":43},[40,4810,47],{"class":46},[40,4812,1870],{"class":50},[40,4814,1873],{"class":54},[40,4816,1876],{"class":50},[40,4818,1879],{"class":54},[30,4820,4821],{"className":1882,"code":1883,"language":1884,"meta":35,"style":35},[37,4822,4823,4827,4831,4835,4839,4843],{"__ignoreMap":35},[40,4824,4825],{"class":42,"line":43},[40,4826,1891],{},[40,4828,4829],{"class":42,"line":61},[40,4830,1896],{},[40,4832,4833],{"class":42,"line":150},[40,4834,1901],{},[40,4836,4837],{"class":42,"line":161},[40,4838,1906],{},[40,4840,4841],{"class":42,"line":172},[40,4842,1911],{},[40,4844,4845],{"class":42,"line":183},[40,4846,1916],{},[26,4848,1920],{"id":1919},[22,4850,4851],{},[1601,4852,1925],{},[30,4854,4855],{"className":32,"code":1928,"language":34,"meta":35,"style":35},[37,4856,4857,4865],{"__ignoreMap":35},[40,4858,4859,4861,4863],{"class":42,"line":43},[40,4860,47],{"class":46},[40,4862,1470],{"class":50},[40,4864,1939],{"class":50},[40,4866,4867,4869,4871],{"class":42,"line":61},[40,4868,1944],{"class":46},[40,4870,1947],{"class":54},[40,4872,1939],{"class":50},[30,4874,4875],{"className":32,"code":1952,"language":34,"meta":35,"style":35},[37,4876,4877,4881,4889],{"__ignoreMap":35},[40,4878,4879],{"class":42,"line":43},[40,4880,1959],{"class":1097},[40,4882,4883,4885,4887],{"class":42,"line":61},[40,4884,1964],{"class":128},[40,4886,1967],{"class":1145},[40,4888,1970],{"class":50},[40,4890,4891,4893,4895],{"class":42,"line":150},[40,4892,1975],{"class":128},[40,4894,1967],{"class":1145},[40,4896,1980],{"class":50},[22,4898,4899],{},[1601,4900,1985],{},[30,4902,4903],{"className":32,"code":1988,"language":34,"meta":35,"style":35},[37,4904,4905,4915,4923],{"__ignoreMap":35},[40,4906,4907,4909,4911,4913],{"class":42,"line":43},[40,4908,47],{"class":46},[40,4910,1997],{"class":50},[40,4912,2000],{"class":54},[40,4914,2003],{"class":50},[40,4916,4917,4919,4921],{"class":42,"line":61},[40,4918,47],{"class":46},[40,4920,1470],{"class":50},[40,4922,2012],{"class":50},[40,4924,4925,4927,4929],{"class":42,"line":150},[40,4926,1944],{"class":46},[40,4928,2019],{"class":50},[40,4930,2012],{"class":50},[30,4932,4933],{"className":32,"code":2024,"language":34,"meta":35,"style":35},[37,4934,4935,4939,4943,4947,4953,4957,4965,4973,4987,5003,5007,5011,5045,5049,5053,5063,5067,5071],{"__ignoreMap":35},[40,4936,4937],{"class":42,"line":43},[40,4938,2031],{"class":1097},[40,4940,4941],{"class":42,"line":61},[40,4942,1129],{"emptyLinePlaceholder":1128},[40,4944,4945],{"class":42,"line":150},[40,4946,2040],{"class":1097},[40,4948,4949,4951],{"class":42,"line":161},[40,4950,2045],{"class":54},[40,4952,1939],{"class":50},[40,4954,4955],{"class":42,"line":172},[40,4956,1129],{"emptyLinePlaceholder":1128},[40,4958,4959,4961,4963],{"class":42,"line":183},[40,4960,2056],{"class":128},[40,4962,1967],{"class":1145},[40,4964,2061],{"class":50},[40,4966,4967,4969,4971],{"class":42,"line":253},[40,4968,2066],{"class":128},[40,4970,1967],{"class":1145},[40,4972,2071],{"class":50},[40,4974,4975,4977,4979,4981,4983,4985],{"class":42,"line":1182},[40,4976,2076],{"class":128},[40,4978,1967],{"class":1145},[40,4980,2081],{"class":128},[40,4982,710],{"class":46},[40,4984,2086],{"class":50},[40,4986,2089],{"class":128},[40,4988,4989,4991,4993,4995,4997,4999,5001],{"class":42,"line":1188},[40,4990,2094],{"class":128},[40,4992,1967],{"class":1145},[40,4994,2099],{"class":50},[40,4996,2102],{"class":128},[40,4998,2105],{"class":50},[40,5000,2108],{"class":128},[40,5002,2111],{"class":50},[40,5004,5005],{"class":42,"line":1214},[40,5006,1129],{"emptyLinePlaceholder":1128},[40,5008,5009],{"class":42,"line":1220},[40,5010,2120],{"class":1097},[40,5012,5013,5015,5017,5019,5021,5023,5025,5027,5029,5031,5033,5035,5037,5039,5041,5043],{"class":42,"line":1225},[40,5014,2125],{"class":46},[40,5016,1873],{"class":54},[40,5018,2099],{"class":50},[40,5020,2132],{"class":128},[40,5022,2099],{"class":50},[40,5024,2000],{"class":54},[40,5026,2099],{"class":50},[40,5028,2141],{"class":128},[40,5030,2099],{"class":50},[40,5032,2146],{"class":50},[40,5034,2149],{"class":128},[40,5036,2099],{"class":50},[40,5038,1172],{"class":1145},[40,5040,2146],{"class":50},[40,5042,2158],{"class":128},[40,5044,2161],{"class":50},[40,5046,5047],{"class":42,"line":1231},[40,5048,1129],{"emptyLinePlaceholder":1128},[40,5050,5051],{"class":42,"line":1243},[40,5052,2170],{"class":1097},[40,5054,5055,5057,5059,5061],{"class":42,"line":1260},[40,5056,2175],{"class":46},[40,5058,2146],{"class":50},[40,5060,2158],{"class":128},[40,5062,2161],{"class":50},[40,5064,5065],{"class":42,"line":1272},[40,5066,1129],{"emptyLinePlaceholder":1128},[40,5068,5069],{"class":42,"line":1277},[40,5070,2190],{"class":1097},[40,5072,5073,5075,5077,5079,5081,5083,5085,5087,5089,5091,5093,5095,5097,5099],{"class":42,"line":1283},[40,5074,2195],{"class":46},[40,5076,2146],{"class":50},[40,5078,2102],{"class":128},[40,5080,2099],{"class":50},[40,5082,2204],{"class":54},[40,5084,2207],{"class":50},[40,5086,2210],{"class":54},[40,5088,2213],{"class":50},[40,5090,2216],{"class":54},[40,5092,2219],{"class":50},[40,5094,2222],{"class":54},[40,5096,2225],{"class":50},[40,5098,2228],{"class":50},[40,5100,2231],{"class":54},[271,5102],{},[18,5104,2237],{"id":2236},[26,5106,2241],{"id":2240},[30,5108,5109],{"className":32,"code":2244,"language":34,"meta":35,"style":35},[37,5110,5111,5117,5123,5131,5135,5139,5149,5153,5157,5169,5173,5177,5183],{"__ignoreMap":35},[40,5112,5113,5115],{"class":42,"line":43},[40,5114,2251],{"class":54},[40,5116,2254],{"class":50},[40,5118,5119,5121],{"class":42,"line":61},[40,5120,2259],{"class":46},[40,5122,2262],{"class":50},[40,5124,5125,5127,5129],{"class":42,"line":150},[40,5126,2267],{"class":46},[40,5128,2270],{"class":54},[40,5130,2273],{"class":50},[40,5132,5133],{"class":42,"line":161},[40,5134,1129],{"emptyLinePlaceholder":1128},[40,5136,5137],{"class":42,"line":172},[40,5138,2282],{"class":1097},[40,5140,5141,5143,5145,5147],{"class":42,"line":183},[40,5142,47],{"class":46},[40,5144,2289],{"class":50},[40,5146,2292],{"class":50},[40,5148,2295],{"class":50},[40,5150,5151],{"class":42,"line":253},[40,5152,1129],{"emptyLinePlaceholder":1128},[40,5154,5155],{"class":42,"line":1182},[40,5156,2304],{"class":1097},[40,5158,5159,5161,5163,5165,5167],{"class":42,"line":1188},[40,5160,47],{"class":46},[40,5162,2311],{"class":50},[40,5164,2314],{"class":54},[40,5166,2317],{"class":50},[40,5168,2320],{"class":50},[40,5170,5171],{"class":42,"line":1214},[40,5172,1129],{"emptyLinePlaceholder":1128},[40,5174,5175],{"class":42,"line":1220},[40,5176,2329],{"class":1097},[40,5178,5179,5181],{"class":42,"line":1225},[40,5180,2251],{"class":54},[40,5182,2320],{"class":50},[40,5184,5185,5187,5189],{"class":42,"line":1231},[40,5186,2340],{"class":46},[40,5188,2343],{"class":50},[40,5190,2346],{"class":50},[26,5192,2350],{"id":2349},[22,5194,5195,2356],{},[37,5196,2355],{},[30,5198,5199],{"className":32,"code":2359,"language":34,"meta":35,"style":35},[37,5200,5201,5207,5211,5215,5223,5227,5231],{"__ignoreMap":35},[40,5202,5203,5205],{"class":42,"line":43},[40,5204,2251],{"class":54},[40,5206,2320],{"class":50},[40,5208,5209],{"class":42,"line":61},[40,5210,1129],{"emptyLinePlaceholder":1128},[40,5212,5213],{"class":42,"line":150},[40,5214,2376],{"class":1097},[40,5216,5217,5219,5221],{"class":42,"line":161},[40,5218,2381],{"class":46},[40,5220,2384],{"class":50},[40,5222,2387],{"class":50},[40,5224,5225],{"class":42,"line":172},[40,5226,1129],{"emptyLinePlaceholder":1128},[40,5228,5229],{"class":42,"line":183},[40,5230,2396],{"class":1097},[40,5232,5233,5235],{"class":42,"line":253},[40,5234,2401],{"class":46},[40,5236,2404],{"class":50},[30,5238,5239],{"className":2407,"code":2408,"language":2409,"meta":35,"style":35},[37,5240,5241,5245],{"__ignoreMap":35},[40,5242,5243],{"class":42,"line":43},[40,5244,2416],{},[40,5246,5247],{"class":42,"line":61},[40,5248,2421],{},[26,5250,2425],{"id":2424},[30,5252,5253],{"className":32,"code":2428,"language":34,"meta":35,"style":35},[37,5254,5255],{"__ignoreMap":35},[40,5256,5257,5259],{"class":42,"line":43},[40,5258,2401],{"class":46},[40,5260,2437],{"class":50},[30,5262,5263],{"className":2440,"code":2441,"language":1692,"meta":35,"style":35},[37,5264,5265,5269,5273,5277,5281,5285,5289,5293,5297,5301,5305,5309,5313],{"__ignoreMap":35},[40,5266,5267],{"class":42,"line":43},[40,5268,2448],{},[40,5270,5271],{"class":42,"line":61},[40,5272,2453],{},[40,5274,5275],{"class":42,"line":150},[40,5276,1129],{"emptyLinePlaceholder":1128},[40,5278,5279],{"class":42,"line":161},[40,5280,2462],{},[40,5282,5283],{"class":42,"line":172},[40,5284,2467],{},[40,5286,5287],{"class":42,"line":183},[40,5288,1129],{"emptyLinePlaceholder":1128},[40,5290,5291],{"class":42,"line":253},[40,5292,2476],{},[40,5294,5295],{"class":42,"line":1182},[40,5296,2481],{},[40,5298,5299],{"class":42,"line":1188},[40,5300,2486],{},[40,5302,5303],{"class":42,"line":1214},[40,5304,2491],{},[40,5306,5307],{"class":42,"line":1220},[40,5308,2496],{},[40,5310,5311],{"class":42,"line":1225},[40,5312,2501],{},[40,5314,5315],{"class":42,"line":1231},[40,5316,2506],{},[271,5318],{},[18,5320,2512],{"id":2511},[22,5322,2515,5323,2522],{},[2517,5324,2519],{"href":2519,"rel":5325},[2521],[975,5327,2525],{},{"title":35,"searchDepth":61,"depth":61,"links":5329},[5330,5331,5339,5344,5349,5354],{"id":1022,"depth":61,"text":1023},{"id":1082,"depth":61,"text":1083,"children":5332},[5333,5334,5335,5336,5337,5338],{"id":1086,"depth":150,"text":1087},{"id":1343,"depth":150,"text":1344},{"id":1384,"depth":150,"text":1385},{"id":1424,"depth":150,"text":1425},{"id":1450,"depth":150,"text":1451},{"id":1619,"depth":150,"text":1620},{"id":1637,"depth":61,"text":1638,"children":5340},[5341,5342,5343],{"id":1641,"depth":150,"text":1642},{"id":1703,"depth":150,"text":1704},{"id":1755,"depth":150,"text":1756},{"id":1821,"depth":61,"text":1822,"children":5345},[5346,5347,5348],{"id":1825,"depth":150,"text":1826},{"id":1857,"depth":150,"text":1858},{"id":1919,"depth":150,"text":1920},{"id":2236,"depth":61,"text":2237,"children":5350},[5351,5352,5353],{"id":2240,"depth":150,"text":2241},{"id":2349,"depth":150,"text":2350},{"id":2424,"depth":150,"text":2425},{"id":2511,"depth":61,"text":2512},{"date":997,"tags":5356,"draft":1001,"author":1002},[2555,2556,999],[2555,2556,999],1787385988915]