|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
「StiLL」デザイン情報110 「StiLL-]」とは! -42 |
|
|
|
|
|
|
|
|
|
|
|
便利な「StiLL-]」のボタンテンプレート 図形・開発用について |
|
|
プログラム作成の基本的なボタン |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■
StiLLでプログラムを作成するときは「ボタンテンプレート」を使用すると、機能設定が可能な状態でボタンが貼り付けられ便利です。 |
|
|
■
「図形」タブにあるボタンはプログラム作成で使用する基本的なボタンです。ボタンの形に意味のあるボタンもありますので、ボタンの機能をユーザーがイメージしやすく、表現豊かな画面デザインにすることができます。 |
|
|
■
「開発用」タブにあるボタンは、システム開発のときによく使うボタン・オブジェクトです。コンボボックスやチェックボタンも、Excelの「フォーム」ツールバーではなくここから貼り付けることができるようになっています。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■
プログラムボタンの作成には「ボタンテンプレート」が便利です。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
プログラムボタンを作成するときには「ボタンテンプレート」を使用すると、機能設定が可能な状態でボタンが |
|
|
|
|
|
|
貼り付けられますので便利です。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
【ボタンテンプレートの使用方法】 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@
メニューバーの「StiLL」をクリックし、「ボタンテンプレート」をクリックします。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A
下図のようなダイアログが表示されますので、使用したいボタンを選択して「貼付け」をクリックします。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタンテンプレートは8種類(Professional版は6種類)のカテゴリに分類されており、さまざまな機能の |
|
|
|
|
|
|
ボタンを選択できます。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタンに設定されている機能はボタンによって異なります。ボタン表示の2段目の表示にてご確認ください。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MakeBt |
|
|
|
|
|
|
|
|
|
|
|
ボタンの機能設定が必要なボタンです。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Make〜 |
|
|
|
|
|
|
|
|
|
|
|
Make以下の機能が設定されているボタンです。 |
|
|
|
|
|
|
MakeBtPush →
BtPush(ボタン連続実行) |
|
|
|
|
|
|
MakeBtPushIf →
BtPushIf(条件分岐実行) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
「Make」がついていないボタン |
|
|
|
|
|
|
|
機能が設定済みのボタンです。シートに貼り付ければ |
|
|
|
|
|
そのまま使用できます。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
未設定 |
|
|
|
|
|
|
|
|
|
|
|
StiLLボタンの機能が設定されていないオブジェクトです。 |
|
|
|
|
|
システム作成でよく使用されるオブジェクト |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■
「図形」タブのボタンはプログラム作成に使用する基本的なボタンです。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
「図形」タブにあるボタンは、プログラム作成に使用する基本的なボタンを収録しています。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
画面1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
画面2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
下記は「図形」タブに表示される汎用的に使用するボタンです。 |
|
|
|
|
|
|
|
|
|
|
|
また、フローチャート用の図形をボタンとして貼り付けることができますので、フローチャートを作成し、各処理を |
|
|
|
|
|
|
表す図形に機能を設定することでプログラム処理を分かりやすく表現することができます。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
名称 |
設定されている機能 |
用途 |
|
|
|
|
|
|
ボタン |
MakeBt |
画面1の@枠内の各ボタンは表示シート上に
配置するのに適したボタンです。
色柄、大きさなどを選択できます。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
タイトルボタン |
MakeBt |
タイトル用に配置するのに適したボタンです。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
フローチャート(磁気ディスク) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
フローチャート(データ) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
フローチャート(準備) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
フローチャート(手操作入力) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
フローチャート(表示) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
フローチャート(処理) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
フローチャート(定義済み処理) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
フローチャート(内部記憶) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
フローチャート(書類) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
フローチャート(複数書類) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
基本図形(直方体) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
フローチャート(メモ) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
フローチャート(抜出し) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
ブロック矢印(ホームベース) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
ブロック矢印(山形) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
ブロック矢印(左右矢印) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
ブロック矢印(右矢印) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
ブロック矢印(上矢印) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
ブロック矢印(左矢印) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
ブロック矢印(下矢印) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
ブロック矢印(下矢印吹き出し) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
ブロック矢印(左矢印吹き出し) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
吹き出し(円形吹き出し) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
吹き出し(雲形吹き出し) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
雲 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
星とリボン(爆発) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
星とリボン(NEW) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
フローチャート(結合子) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
基本図形(禁止) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
フローチャート(和接合) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
@と同じです |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
@と同じです |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
MakeBt |
@と同じです |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
■
「開発用」タブのボタンはシステム開発においてよく使用されるボタンです。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
「開発用」タブにあるボタン類は、システム開発においてよく使用されるものです。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
プログラムを作成するうえで必要不可欠なのが「順次処理」と「条件分岐処理」です。 |
|
|
|
|
|
|
|
これらの機能が設定済みのボタンがありますので活用してください。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
名称 |
設定されている機能 |
用途 |
|
|
|
|
|
|
連続実行 |
MakeBtPush |
「ボタン連続実行」機能(複数のボタンを連続して実行する機能)が設定済みです。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
判断 |
MakeBtPushIf |
「条件分岐実行」機能(条件によって実行するボタンを変更する機能)が設定済みです。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
下記のボタンは表示画面上でユーザーが使用するボタンです。 |
|
|
|
|
|
|
|
|
|
|
|
Excelでは「フォーム」ツールバーから貼り付けるようになっていますが、StiLLならば他のボタンや図形と同じ |
|
|
|
|
|
|
「ボタンテンプレート」から貼り付けられますので、使用するツールバーの数が少なくなりすっきりします。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ボタン |
名称 |
設定されている機能 |
用途 |
|
|
|
|
|
|
コマンドボタン |
MakeBt |
ダイアログボックス上に貼り付けるボタンとしても使用します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
コンボボックス |
未登録 |
プルダウンで選択された項目を表示します。選択した項目番号をセルにリンクできます。Excelのヘルプも要参照。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
リストボックス |
未登録 |
リストで選択された項目を表示します。
選択した項目番号をセルにリンクできます。Excelのヘルプも要参照。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
スピン |
未登録 |
指定したセルに設定した範囲内の値を表示します。Excelのヘルプも要参照。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
チェックボックス |
MakeBt |
リンクするセルにTRUE/FALSEを代入できます。Excelのヘルプも要参照。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
チェックボックス |
MakeBt |
同上 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
チェックボックス |
未登録 |
同上 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
オプションボタン |
MakeBt |
下表のグループボックスで囲まれるグループ内で選択されたボタンの値をセルにリンクできます。Excelのヘルプも要参照。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
オプションボタン |
MakeBt |
同上 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
オプションボタン |
未登録 |
同上 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
グループボックス |
MakeBt |
オプションボタンを囲んで1つのグループを形成します。Excelのヘルプも要参照。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
グループボックス |
未登録 |
同上 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Copyright(C)
アイエルアイ総合研究所 無断転載を禁じます |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|