Permanently protected module

모듈:니혼고

Module

요구하다('실패');  --[---------------------------------------------------------------------------------------------------------------  오류 메시지. 이 테이블의 키는 템플릿 기본 이름입니다. '니혼고', '니혼고3', '니혼고 krt', '니혼고 발' → '니혼고' 등  ]]  현지의 err_msg = {  [니혼고] = '일본어 또는 로마자 텍스트 필요',  ['한유] = '중국어 또는 병음 텍스트 필요',  }  현지의 err_cat = {  [니혼고] = '[카테고리:니혼고 템플릿 오류]',  ['한유] = '[카테고리:Hanyu 템플릿 오류]',  }   --[---------------------------------------------------------------------------------------------------------------  다양한 템플릿의 Configuration 설정.이 테이블의 키는 공백 없이 템플릿 이름입니다.  ]]  현지의 cfg = {  [니혼고] = {   태그 = 'ja,   시스템. = '불타는',   system_link = '[헤프번 로마자 표기 헵번]',   err_msg = err_msg.니혼고,   err_cat = err_cat.니혼고,   },  ['니혼고3'] = {   태그 = 'ja,   시스템. = '불타는',   err_msg = err_msg.니혼고,   err_cat = err_cat.니혼고,   },  ['니혼고 krt'] = {   태그 = 'ja,   시스템. = '불타는',   err_msg = err_msg.니혼고,   err_cat = err_cat.니혼고,   },  [니혼고발] = {   태그 = 'ja,   시스템. = '불타는',   system_link = '[헤프번 로마자 표기 헵번]',   err_msg = err_msg.니혼고,   err_cat = err_cat.니혼고,   },  ['한유] = {   태그 = 'zh',   시스템. = ,   system_link = '[핀]',   err_msg = err_msg.하뉴,   err_cat = err_cat.하뉴,   },  ['한유3'] = {   태그 = 'zh',   시스템. = ,   err_msg = err_msg.하뉴,   err_cat = err_cat.하뉴,   },  ['한유 hrt] = {   태그 = 'zh',   시스템. = ,   err_msg = err_msg.하뉴,   err_cat = err_cat.하뉴,   },  ['한유발] = {   태그 = 'zh',   시스템. = ,   system_link = '[핀]',   err_msg = err_msg.하뉴,   err_cat = err_cat.하뉴,   },  }   --[-------------------------------------------------------------------------------------------------------------  템플릿이 누락된 경우 {{nihongo}, {{nihongo3}, {{nihongo krt}} 및 {{nihongo foot}에 대한 오류 메시지를 생성합니다.< 일본어 > 또는 <romaji> 입력.해당 템플릿의 이름, 템플릿페이지 링크 및 카테고리에 문서 추가:니혼고 템플릿 오류  ]]  현지의 기능. error_message (템플릿)  현지의 메시지 = {'<span class="error" style="class-size:100%"> 오류: {{"};  table.insert (메시지, 템플릿);  table.insert (메시지, '}}: ');  table.insert (메시지, cfg[템플릿].err_msg);  table.insert (메시지, ' ([템플릿: '));  table.insert (메시지, 템플릿);  table.insert (메시지, help]) </span>);  한다면 0 == .직함.get Current Title(전류 제목)().네임스페이스 그리고나서   table.insert (메시지, cfg[템플릿].err_cat);  끝.   돌아가다 table.concat (메시지);  끝.   --[-----------------------------------------------------------------------------------------------  nihingo(), nihongo3() 및 nihongo_foot()의 공유 지원 기능.인덱스를 포맷으로 계산합니다{ } set/set parameters: args[1](영어 텍스트)의 값은 8(세트) 또는 0(표준)입니다. args[2](표준 텍스트)의 값은 4입니다. args[3](로마어 텍스트)의 값은 2입니다. args [ 4 ](필수)의 값은 1입니다. 이러한 값의 합계인 인덱스는 연관된 값으로 {} 테이블 포맷에서 적절한 형식 문자열을 가져옵니다. 서식[색인][2] 표에서  ]]  현지의 기능. 렌다라 (args, 포맷, 엑스트라2)  현지의 산출량;  현지의 색인 = 0;               -- 포맷으로 색인화{}  현지의 param_weight = {8, 4, 2, 1};           -- 이진 파라미터 가중치: [1] = 영어(8), [2] = 일본어(4), [3] = 로마자(2), [4] = 추가(1)   위해서 i=1, 5 하다                -- args [ 1 ]– args [ 4 ]를 스핀합니다.   색인 = 색인 + (args[i] 그리고. param_weight[i] 또는 0);      -- 인덱스를 포맷으로 계산합니다{ }  끝.   산출량 = (0 ~= 색인) 그리고. string.format (포맷[색인][1] 그리고. 포맷[색인][1], 포맷[색인][2][1], 포맷[색인][2][2], 포맷[색인][2][3], 포맷[색인][2][4]) 또는 제로;   한다면 엑스트라2 그리고나서                -- 항상 끝에만 연결되기 때문에(끝이 있는 경우) 포맷의 일부가 아닙니다{ }   산출량 = 산출량 그리고. (산출량 .. ' ' .. 엑스트라2) 또는 '<5p4n>' .. 엑스트라2; --<5p4n>및</5p4n>: 글꼴 무게 스타일의 범위용 플레이스 홀더.스트립마커와 마찬가지로 교환할 수 있습니다.  끝.                   --(니혼고 및 니혼고3) 또는 제거(니혼고 발)   돌아가다 산출량 그리고. (산출량 .. '<5p4n>') 또는 '';        -- 출력이 있는 경우 secret 태그를 close로 추가합니다. 끝.   --[---------------------------------------------------------------------------------------------------------------  로마자화된 텍스트의 첫 번째 또는 마지막 문자가 인접한 시작 또는 닫힘 부분과 접촉할 때 키어링 추가  이 예에서는 키닝 없이 로마자 'j'와 'V'는 이탤릭체로 표시되므로 괄호 안에 들어갑니다. (<i lang=\"ja-Latn\" title=\")Hepburn 변환 \"> jV </i>)  <ret_string>은 포맷된 템플릿 출력입니다(매직 문자열 '<5p4n>'은 아직 대체되지 않았습니다). <romanized>는 lang_backets로부터의 반환입니다._so()는 괄호로 둘러싸여 있지 않습니다.  ]]  현지의 기능. 로마자화된 (ret_string, 로마자화된)  한다면 것은 아니다. 로마자화된 또는 ('' == 로마자화된) 그리고나서         -- 로마자로 표기된 경우 설정되지 않음   돌아가다 ret_string;              --그럼 끝입니다.  끝.   현지의 로마자화된 텍스트 = 로마자화된:서브 ('%b <>', ''):서브 ('\'\'+', ''):서브 ('%[%[', ''):서브 ('%]%]', ''); -- html 태그를 삭제합니다.   로마자화된 = 로마자화된:서브 ('([%(%)%.%%%+%-%*%?%[%^%$%]])', '%%%1');    -- excape lua 패턴 문자   현지의 로마자화된_has_leading_paren = ret_string:경기 ('%(' .. 로마자화된);   -- (<로마화>)의 경우 값이 있습니다.그 이외의 값은 없습니다.  현지의 로마자화된_has_paren = ret_string:경기 (로마자화된 .. '%)');  --<로마라이즈 완료>의 경우는 값이 있습니다.그 이외의 값은 없습니다.   현지의 kern_lead_pattern = '^[jpy]';           -- 이탤릭체로 표기했을 때 선두 괄호(이탤릭체로 표기되지 않은 괄호)에 접촉하는 문자  현지의 kern_tail_pattern = '[dfijkltCEFHIJKMNPR-Z'\'"%?!%]]
                
; -- 이탤릭체로 표기했을 때, 이탤릭체로 표기되지 않은 후행 괄호 안에 접하는 문자 리스트. 현지의 오른쪽 = '<span style="param-right:.09em">(<span>%1)'; -- %1은 <로마화> 캡처입니다. 현지의 왼쪽 = '%1 < span style = " span - left : 0.09em " > ) </span >'; -- %1은 <로마화> 캡처입니다. 한다면 로마자화된_has_leading_paren 그리고. 로마자화된 텍스트:경기 (kern_lead_pattern) 그리고나서 ret_string = ret_string:서브 ('%((' .. 로마자화된 .. ')', 오른쪽); -- 여기에 포함된 플레인 '('를 kerned '()'로 대체하여 올바른 '(')를 kerned로 합니다. 끝. 한다면 로마자화된_has_paren 그리고. 로마자화된 텍스트:경기 (kern_tail_pattern) 그리고나서 ret_string = ret_string:서브 ('(' .. 로마자화된 .. ')%)', 왼쪽); -- plain ''를 kerned ''로 바꿉니다.올바른 ''가 확실하게 kerned가 되도록 <로마화>되어 있습니다. 끝. 돌아가다 ret_string; --완료 끝. --[----------------------------------------------------------------------------------------------- {nihongo} 및 {{hanyu} 공통 지원 렌더 순서: 번역 완료(영어), 네이티브, 로마자 표기 <cfg>는 적절한 cfg 테이블을 선택하기 위해 사용됩니다. ]] 현지의 기능. 흔한 (, 템플릿) 현지의 lang_module = 요구하다 ('모듈:언어' .. (:getTitle(제목)():경기 ('/filename') 또는 '')); -- 이 모듈이 샌드박스일 경우 Module:lang/sandbox; Module:Lang oth 현지의 args = 요구하다 ('모듈:인수').취득하다 (); 현지의 영어, 원어민, 로마자화된, 추가의, 엑스트라2 = args[1], args[2], args[3], args.추가의 또는 args[4], args.엑스트라2 또는 args[5]; -- 의미 있는 이름 args[4] = 추가의 또는 args[4]; -- 추가가 렌더러()에 의해 사용되는 '위치'임을 확인합니다. 현지의 이끌다 = '네' == args.이끌다; -- 부울을 만듭니다. 한다면 것은 아니다. (원어민 또는 로마자화된) 그리고나서 -- 존재하지 않습니다. 오류 메시지를 반환합니다. 돌아가다 error_message (템플릿); 끝. 한다면 원어민 그리고나서 원어민 = 이끌다 그리고. lang_module._syslog_xx_syslog ({['코드']=cfg[템플릿].태그, 원어민, ['실패']=템플릿}) 또는 lang_module._개요 ({cfg[템플릿].태그, 원어민, ['실패']=템플릿}); -- 언어 접두사 포함/없음 ja 스크립트 추가 끝. 한다면 로마자화된 그리고나서 로마자화된 = (이끌다 그리고. 영어 그리고. (cfg[템플릿].system_link .. ': ') 또는 '') .. lang_module._개요 ({'ja, cfg[템플릿].시스템., 로마자화된}) 또는 제로; 끝. 현지의 포맷 = { --<5p4n>및</5p4n>: 글꼴 무게 스타일의 범위 자리 표시자.스트립마커와 마찬가지로 함수가 반환되기 전에 교체됩니다. {'<5p4n>(%s)', {추가의}}, -- 1 - (표준) {'%s <5p4n>', {로마자화된}}, -- 2 - 로마자 표기 {'%s < 5p4n > (%s)', {로마자화된, 추가의}}, -- 3 - 로마자 표기(표준) {'<5p4n>(%s)', {원어민}}, -- 4 - 네이티브 {'<5p4n>(%s, %s)', {원어민, 추가의}}, -- 5 - (외부, 추가) {'%s < 5p4n > (%s)', {로마자화된, 원어민}}, -- 6 - 로마자 표기(표준) {'%s < 5p4n > (%s, %s)', {로마자화된, 원어민, 추가의}}, -- 7 - 로마자 표기 (표준, 추가) {'%s <5p4n>', {영어}}, -- 8 - 영어 {'%s < 5p4n > (%s)', {영어, 추가의}}, -- 9 - 영어(표준) {'%s < 5p4n > (%s)', {영어, 로마자화된}}, -- 10 - 영어(로마어) {'%s < 5p4n > (%s, %s)', {영어, 로마자화된, 추가의}}, -- 11 - 영어(로마어, 엑스트라) {'%s < 5p4n > (%s)', {영어, 원어민}}, -- 12 - 영어(표준) {'%s < 5p4n > (%s, %s)', {영어, 원어민, 추가의}}, -- 13 - 영어 (영어, 추가) {'%s < 5p4n > (%s, %s)', {영어, 원어민, 로마자화된}}, -- 14 - 영어 (영어, 로마자) {'%s < 5p4n > (%s, %s, %s)', {영어, 원어민, 로마자화된, 추가의}}, -- 15 - 영어 (영어, 로마자, 추가) } 현지의 ret_string = 렌다라 (args, 포맷, 엑스트라2) ret_string = 로마자화된 (ret_string, 로마자화된); -- 적절한 경우 kern 로마자 텍스트 ret_string = ret_string:서브 ('<5p4n>', '<span style="snormal-weight: normal">'):서브 ('<5p4n>', '</span>'); -- 'secret' 태그를 적절한 태그로 바꿉니다. 돌아가다 ret_string; --gsub는 두 번째 반환값으로 이루어진 치환 수를 반환하기 때문입니다. 끝. --[----------------------------------------------------------------------------------------------------------------------------------------------------------- {{nihongo3}} 및 {{hanyu3}} 공통 지원 렌더 순서: 로마자, 원어민, 번역자(영어) <cfg>는 적절한 cfg 테이블을 선택하기 위해 사용됩니다. ]] 현지의 기능. 공통_로마화_고정_고정된 (, 템플릿) 현지의 lang_module = 요구하다 ('모듈:언어' .. (:getTitle(제목)():경기 ('/filename') 또는 '')); -- 이 모듈이 샌드박스일 경우 Module:lang/sandbox; Module:Lang oth 현지의 args = 요구하다 ('모듈:인수').취득하다 (); 현지의 영어, 원어민, 로마자화된, 추가의, 엑스트라2 = args[1], args[2], args[3], args.추가의 또는 args[4], args.엑스트라2 또는 args[5]; -- 의미 있는 이름 args[4] = 추가의 또는 args[4]; -- 추가가 렌더러()에 의해 사용되는 '위치'임을 확인합니다. 한다면 것은 아니다. (원어민 또는 로마자화된) 그리고나서 -- 존재하지 않습니다. 오류 메시지를 반환합니다. 돌아가다 error_message (템플릿); 끝. 원어민 = 원어민 그리고. lang_module._개요 ({cfg[템플릿].태그, 원어민}) 또는 제로; 로마자화된 = 로마자화된 그리고. lang_module._개요 ({cfg[템플릿].태그, cfg[템플릿].시스템., 로마자화된}) 또는 제로; 현지의 포맷 = { --<5p4n>및</5p4n>: 글꼴 무게 스타일의 범위 자리 표시자.스트립마커와 마찬가지로 함수가 반환되기 전에 교체됩니다. {'<5p4n>(%s)', {추가의}}, -- 1 - (표준) {'%s <5p4n>', {로마자화된}}, -- 2 - 로마자 표기 {'%s < 5p4n > (%s)', {로마자화된, 추가의}}, -- 3 - 로마자 표기(표준) {'<5p4n>(%s)', {원어민}}, -- 4 - 네이티브 {'<5p4n>(%s, %s)', {원어민, 추가의}}, -- 5 - (외부, 추가) {'%s < 5p4n > (%s)', {로마자화된, 원어민}}, -- 6 - 로마자 표기(표준) {'%s < 5p4n > (%s, %s)', {로마자화된, 원어민, 추가의}}, -- 7 - 로마자 표기 (표준, 추가) {'%s <5p4n>', {영어}}, -- 8 - 영어 {'%s < 5p4n > (%s)', {영어, 추가의}}, -- 9 - 영어(표준) {'%s < 5p4n > (%s)', {로마자화된, 영어}}, -- 10 - 로마자 표기(영어) {'%s < 5p4n > (%s, %s)', {로마자화된, 영어, 추가의}}, -- 11 - 로마자 표기(영어, 추가) {'%s < 5p4n > (%s)', {영어, 원어민}}, -- 12 - 영어(표준) {'%s < 5p4n > (%s, %s)', {영어, 원어민, 추가의}}, -- 13 - 영어 (영어, 추가) {'%s < 5p4n > (%s, %s)', {로마자화된, 원어민, 영어}}, -- 14 - 로마자 표기 (영어, 영어) {'%s < 5p4n > (%s, %s, %s)', {로마자화된, 원어민, 영어, 추가의}}, -- 15 - 로마자 표기 (영어, 영어, 엑스트라) } 현지의 ret_string = 렌다라 (args, 포맷, 엑스트라2) ret_string = ret_string:서브 ('<5p4n>', '<span style="snormal-weight: normal">'):서브 ('<5p4n>', '</span>'); -- 'secret' 태그를 적절한 태그로 바꿉니다. 돌아가다 ret_string; --gsub는 두 번째 반환값으로 이루어진 치환 수를 반환하기 때문입니다. 끝. --[------------------------------------------------------------------------------------------------------------------------------------------------------------- {nihongo krt} 및 {{hanyu krt} 공통 지원 렌더 순서: 네이티브, 로마자, 번역자(영어) <cfg>는 적절한 cfg 테이블을 선택하기 위해 사용됩니다. ]] 현지의 기능. common_native_omanized_incated (, 템플릿) 현지의 lang_module = 요구하다 ('모듈:언어' .. (:getTitle(제목)():경기 ('/filename') 또는 '')); -- 이 모듈이 샌드박스일 경우 Module:lang/sandbox; Module:Lang oth 현지의 args = 요구하다 ('모듈:인수').취득하다 (); 현지의 영어, 원어민, 로마자화된, 추가의, 엑스트라2 = args[1], args[2], args[3], args.추가의 또는 args[4], args.엑스트라2 또는 args[5]; -- 의미 있는 이름 args[4] = 추가의 또는 args[4]; -- 추가가 렌더러()에 의해 사용되는 '위치'임을 확인합니다. 한다면 것은 아니다. (원어민 또는 로마자화된) 그리고나서 -- 존재하지 않습니다. 오류 메시지를 반환합니다. 돌아가다 error_message (템플릿); 끝. 원어민 = 원어민 그리고. lang_module._개요 ({cfg[템플릿].태그, 원어민}) 또는 제로; 로마자화된 = 로마자화된 그리고. lang_module._개요 ({cfg[템플릿].태그, cfg[템플릿].시스템., 로마자화된}) 또는 제로; 현지의 포맷 = { --<5p4n>및</5p4n>: 글꼴 무게 스타일의 범위 자리 표시자.스트립마커와 마찬가지로 함수가 반환되기 전에 교체됩니다. {'<5p4n>(%s)', {추가의}}, -- 1 - (표준) {'%s <5p4n>', {로마자화된}}, -- 2 - 로마자 표기 {'%s < 5p4n > (%s)', {로마자화된, 추가의}}, -- 3 - 로마자 표기(표준) {'%s', {원어민}}, -- 4 - 네이티브 {'%s(%s)', {원어민, 추가의}}, -- 5 - 네이티브(표준) {'%s(%s)', {원어민, 로마자화된}}, -- 6 - 네이티브(로마화) {'%s(%s, %s)', {원어민, 로마자화된, 추가의}}, -- 7 - 네이티브 (로마화, 추가) {'%s <5p4n>', {영어}}, -- 8 - 영어 {'%s < 5p4n > (%s)', {영어, 추가의}}, -- 9 - 영어(표준) {'%s < 5p4n > (%s)', {로마자화된, 영어}}, -- 10 - 로마자 표기(영어) {'%s < 5p4n > (%s, %s)', {로마자화된, 영어, 추가의}}, -- 11 - 로마자 표기(영어, 추가) {'%s(%s)', {원어민, 영어}}, -- 12 - 네이티브(영어) {'%s(%s, %s)', {원어민, 영어, 추가의}}, -- 13 - 원어민(영어, 추가) {'%s(%s, %s)', {원어민, 로마자화된, 영어}}, -- 14 - 네이티브(로마어, 영어) {'<5p4n>%s(%s, %s, %s)', {원어민, 로마자화된, 영어, 추가의}}, -- 15 - 네이티브 (로마어, 영어, 엑스트라) } 현지의 ret_string = 렌다라 (args, 포맷, 엑스트라2) ret_string = 로마자화된 (ret_string, 로마자화된); -- 적절한 경우 kern 로마자 텍스트 ret_string = ret_string:서브 ('<5p4n>', '<span style="snormal-weight: normal">'):서브 ('<5p4n>', '</span>'); -- 'secret' 태그를 적절한 태그로 바꿉니다. 돌아가다 ret_string; --gsub는 두 번째 반환값으로 이루어진 치환 수를 반환하기 때문입니다. 끝. --[----------------------------------------------------------------------------------------------------------- {nihongo foot} 및 {{hanyu foot} 공통 지원 렌더 순서: 영어 <reference> 원어민, 로마자 표기 </ref> <cfg>는 적절한 cfg 테이블을 선택하기 위해 사용됩니다. ]] 현지의 기능. 공통_발 (, 템플릿) 현지의 lang_module = 요구하다 ('모듈:언어' .. (:getTitle(제목)():경기 ('/filename') 또는 '')); -- 이 모듈이 샌드박스일 경우 Module:lang/sandbox; Module:Lang oth 현지의 args = 요구하다 ('모듈:인수').취득하다 (); 현지의 영어, 원어민, 로마자화된, 추가의, 엑스트라2 = args[1], args[2], args[3], args.추가의 또는 args[4], args.엑스트라2 또는 args[5]; -- 의미 있는 이름 args[4] = 추가의 또는 args[4]; -- 추가가 렌더러()에 의해 사용되는 '위치'임을 확인합니다. 현지의 포스트. = args[6] 또는 args.포스트.; 현지의 그룹. = args.그룹.; 현지의 ref_name = args.ref_name 현지의 이끌다 = '네' == args.이끌다; -- 부울을 만듭니다. 한다면 것은 아니다. (원어민 또는 로마자화된) 그리고나서 -- 존재하지 않습니다. 오류 메시지를 반환합니다. 돌아가다 error_message (템플릿); 끝. 한다면 원어민 그리고나서 원어민 = 이끌다 그리고. lang_module._syslog_xx_syslog ({['코드']=cfg[템플릿].태그, 원어민}) 또는 lang_module._개요 ({cfg[템플릿].태그, 원어민}); -- 언어 접두사 포함/없음 ja 스크립트 추가 끝. 한다면 로마자화된 그리고나서 로마자화된 = (이끌다 그리고. (cfg[템플릿].system_link .. ': ') 또는 '') .. lang_module._개요 ({'ja, cfg[템플릿].시스템., 로마자화된}) 또는 제로; 끝. 현지의 포맷 = { {'%s', {추가의}}, -- 1 - 엑스트라 {'%s', {로마자화된}}, -- 2 - 로마자 표기 {'%s, %s', {로마자화된, 추가의}}, -- 3 - 로마자 표기, 추가 {'%s', {원어민}}, -- 4 - 네이티브 {'%s, %s', {원어민, 추가의}}, -- 5 - 네이티브, 엑스트라 {'%s, %s', {원어민, 로마자화된}}, -- 6 - 네이티브 로마자 표기 {'%s, %s, %s', {원어민, 로마자화된, 추가의}}, -- 7 - 네이티브 로마자, 엑스트라 -- 여기서부터의 영어는 매핑에 사용되지만 렌더러에 의해 렌더링되지 않기 때문에 표에 포함되지 않습니다. {'', {''}}, -- 8 - 영어 {'%s', {추가의}}, -- 9 - 추가 {'%s', {로마자화된}}, -- 10 - 로마자 표기 {'%s, %s', {로마자화된, 추가의}}, -- 11 - 로마자 표기, 추가 {'%s', {원어민}}, -- 12 - 네이티브 {'%s, %s', {원어민, 추가의}}, -- 13 - 네이티브, 엑스트라 {'%s, %s', {원어민, 로마자화된}}, -- 14 - 네이티브 로마자 표기 {'%s, %s, %s', {원어민, 로마자화된, 추가의}}, -- 15 - 네이티브 로마자, 엑스트라 } 한다면 영어 그리고. 포스트. 그리고나서 --post=를 포함하도록 영어를 고쳐 씁니다. 영어 = 영어 .. 포스트.; -- 영어에 부가가치가 있는 경우는, 투고해 주세요. 그렇지 않으면 포스트. 그리고나서 영어 = 포스트.; -- 영어 미설정, 포스트 사용 그렇지 않으면 것은 아니다. 영어 그리고나서 -- 둘 다 설정되어 있지 않다. 영어 = ''; -- 영어를 연결하기 위한 빈 문자열로 만듭니다. 끝. 한다면 원어민 또는 로마자화된 또는 추가의 또는 엑스트라2 그리고나서 --이러한 태그가 설정되어 있지 않으면 참조 태그가 없습니다(비어 있습니다). 현지의 내용 = 렌다라 (args, 포맷, 엑스트라2); 내용 = 내용:서브 ('<5p4n>', ''):서브 ('<5p4n>
$$SIDE_BOTTOM$$
    $$BOTTOM$$