Авторизация
Логин:
Пароль:
Забыли свой пароль?
Войти как пользователь:
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Подписка на рассылку
Реклама
11 лет сервису InKey.In  - Ваш ключ в сервис инновационных инвестиций UBK Markets Ltd
Расскажи о нас


Пользовательские движки шаблонизации

02.10.2009

Пример подключения движка XML/XSLT:

Сначала регистрируем движок:

global $arCustomTemplateEngines;
$arCustomTemplateEngines = array(
   "xslt" => array(
      "templateExt" => array("xsl"),
      "function" => "XSLTEngine"
   ),
);

Функция инициализации параметров движка:

function CreateXMLFromArray($xDoc, $xNode, $ar)
{
   foreach($ar as $key=>$val)
   {
      if(!is_string($key) || strlen($key)<=0)
         $key = "value";

      $xElement = $xDoc->createElement($key);
      if(is_array($val))
      {
         CreateXMLFromArray($xDoc, $xElement, $val);
      }
      else
      {
         $xElement->appendChild($xDoc->createTextNode(iconv( SITE_CHARSET, "utf-8", $val)));
      }
      $xNode->appendChild($xElement);
   }
   return $xNode;
}

Функция подключения движка:

function XSLTEngine($templateFile, $arResult, $arParams, $arLangMessages, $templateFolder, $parentTemplateFolder, $template)
{
   $arResult["PARAMS"] = array(
      "templateFolder" => $templateFolder,
      "parentTemplateFolder" => $parentTemplateFolder,
      "arParams" => $arParams,
      "arLangMessages" => $arLangMessages
   );

   $xDoc = new DOMDocument("1.0", SITE_CHARSET);
   $xRoot = $xDoc->createElement('result');
   CreateXMLFromArray($xDoc, $xRoot, $arResult);
   $xDoc->appendChild($xRoot);

   $xXsl = new DOMDocument();
   $xXsl->load( $_SERVER["DOCUMENT_ROOT"].$templateFile );

   $xProc = new XSLTProcessor;
   $xProc->importStyleSheet($xXsl);

   echo $xProc->transformToXML($xDoc);
}


Страница 3 - 3 из 3
Начало | Пред. | 1 2 3 | След. | Конец

Количество показов: 45755921

Возврат к списку

(Нет голосов)

Материалы по теме:


Страницы: Пред. 1 ... 207 208 209 210 211 ... 264 След.
0  
Tyson-Usyk 39
Олексій Усик, відомий тим, що має по поясам усіх основних організацій показав свою швидкість у ролі серед багатьох найталановитіших атлетів, які з'явилися коли-небудь з'являлися на світ боксу.

Суперництво usyk vs fury призначався протягом старого року, але численні ситуації, такі як поранення разом з всякі обов'язки кожного суперників призвели до на затримку.
Цей атлет підхід оперативність також тактика в бою достигли Усику успіх не лише в українському спорті, та і водночас на сцені.

В свою чергу Тайсон-Ф'юрі заслужений запам'ятовуючою привабливістю водночас потужною ідеєю. Ці два учасники — значні особистості в історії світовій арені, так ці суперництво навіть може стати епічною.

URL:  http://kdv.co.kr/bbs/board.php?bo_table=apt_info&wr_id=4835

Олександр Олександр Усик взагалі фізичну підготовку, серед яких покращення функціональних вмінь, задля стати у досвідченим версією своїх можливостей.

Ф'юрі теж планував жорстку підготовку, аби показати свою сильну протокол в боксерському світі. Тайсон Ф'юрі часто пристраститися по ментальному методиці, з метою утримувати емоційну перевагу перед Усиком.

Олекса впевнений ці емоційну перемогу може останням умовою на етапі бою.
Имя Цитировать 0  
0  
Pin Up 0s
Pin-up kazino, bu gnlrd Azrbaycann onlayn mrc sektorunda n planda olan irktlrdn biridir. Bir ox istifadi byniln bu oyun platformas, oxlu oyun nvlri, cazibdar aksiyalar v etibarllq nqteyi nzrdn nm qazanr. "Pin up" ad ad il bu kazino, oyun dnyasna mxtlif oyunlar verrk yana, keyfiyytli qumar oyunu verir. yerli mrc sektorunda geni ktl trfindn seiln pin up casino online , hm yerli istifadilr v dnyada sevilib.

yerli oyunular arasnda internet qumarna tlbat artdqca, Pin-up kazino kimi platformalar daha ox tannmaa balad. Xsusil, Pin-up azerbaycan adlar artq Azri mtrilr n sevilir. Pin-up casino mtrilrin mxtlif oyunlar tklif edir.

Pin-up online casino, Azri istifadilr n geni yaylm bir xidmtdir. Bu kazino mtrilr eidli qumar oyunlar tklif edir v srfli bonus tkliflri il mtrilrini mmnun edir.

Pin-up online kazino, bnzrsiz oyun imkan tqdim edn onlayn kazinodur. Azri bazarnda oyunular trfindn seviln Pin-up kazino, oyun hvskarlar n eidli bonus imkanlar yaradr.

Ntic etibaril, Pin-up azerbaycan mtrilr tkc oyunlar deyil, hm d bonuslar v aksiyalar mtrilri n yaradr. Pin-up-da, mtrilr rahat v thlksiz raitd oynayr.

Web: https://wellthyfit.com/tag/fitness-fashion/

Pin-up online kazino yalnz mhdudlamr. stifadilr Pinup-da eidli mrc seimlrindn yararlana bilrlr v bonus sistemini oyunlarna lav ed bilrlr.

Nticd, Pin-up casino online, srfli v thlksiz mrc tcrbsi tklif etmkl onlayn mrc dnyasnda lider mvqeddir. Azri bazarnda ox seilmsi aq bir faktdr.
Имя Цитировать 0  
0  
mostbetbrazilatMt
Mostbet traz a voce um mundo de apostas e premios | Jogue e ganhe com Mostbet Brasil | Aposte em alta com Mostbet Brasil | O app Mostbet leva o jogo para o proximo nivel | Acesse o site oficial do Mostbet para jogar mostbet site
Имя Цитировать 0  
0  
mostbetbrazilaeKi
Jogue em cassinos e faca apostas esportivas com Mostbet | Baixe o app Mostbet e tenha diversao sem limites | Baixe o app do Mostbet e jogue onde e quando quiser | Descubra promocoes e bonus atualizados no Mostbet | Descubra os jogos e promocoes do Mostbet aviator mostbet
Имя Цитировать 0  
0  
k8casinoErelt
CR北斗の拳7 転生
k8スロット
大当たりの瞬間は、心臓がドキドキします。興奮が何とも言えません。

北斗の拳-ボクシング王
https://baiohazado.jahromblog.com/tags/%e3%83%91%e3%83%81%e3%83%b3%e3%82%b3%e3%83%9b%e3%83­%bc%e3%83%ab/
新しい台の演出が毎回楽しみです。特別感があります。

沖ドキ! 25
オンラインカジノ
SLOTバジリスク~甲賀忍法帖~Ⅲ
P 新世紀エヴァンゲリオン ~未来への咆哮~ SPECIAL EDITION
真モグモグ風林火山2
Имя Цитировать 0  
0  
k8casinoErelt
CR神獣王2
Gates of Olympus
友達と一緒に楽しむのに最適。共通の趣味で盛り上がれます。

スーパービンゴネオ
https://www.bk8882.com/tags/%E3%82%AD%E3%83%A3%E3%83%83%E3%82%B7%E3%83%A5%E3%83­%90%E3%83%83%E3%82%AF
大当たりの瞬間は、心臓がドキドキします。興奮が何とも言えません。

めんそーれ(雷電ver.)(特殊大賞燈)
エリート 鏡 ゾーン
黄門ちゃま喝
CRぱちんこ仮面ライダーMAX EDITION
パチスロ北斗の拳 強敵
Имя Цитировать 0  
0  
k8casinoErelt
CR真・北斗無双
k8 カジノ パチンコ 鬼武者3 時空天翔
友人と一緒にプレイすることで、楽しさが倍増します。共に喜ぶ瞬間が嬉しい。

P ガラスの仮面M‐K1
https://www.k8.forsale/tags/%e3%83%97%e3%83%ac%e3%82%a4
大当たり時の演出が特に豪華で、楽しさを感じます。期待感が高まります。

CR牙狼金色になれ
k8 カジノ スロット Muertos Multiplier Megaways ムエルトス・マルチプライヤー・メガウェイズ
紫イミソーレ(4発1)
戦国乙女剣戟に舞う白き剣聖西国参戦編
CRキャッツ・アイ
Имя Цитировать 0  
0  
k8casinoErelt
ベルセルク無双
オンラインカジノ
定期的に新しいイベントがあり、飽きずに楽しめます。新しい体験が待っています。

CR真・花の慶次 Ver.399(2:1)
https://www.nogizaka-pachinko.com/tags/cr%E3%83%90%E3%82%B8%E3%83%AA%E3%82%B9%E3%82%AF%E7%­94%B2%E8%B3%80%E5%BF%8D%E6%B3%95%E5%B8%96%E5%BC%A6%E4%B9%8B%­E4%BB%8B%E3%81%AE%E7%AB%A0
パチンコは、運だけではなく、選択や判断力も必要です。プレイヤーの個性が出ます。

モンスターハンター狂竜戦線
ヒロイックスピン
パチスロ バイオハザード6
CRザ・キング・オブ・ファイターズ
CR真・花の慶次
Имя Цитировать 0  
0  
k8casinoErelt
闘神雷電 -花田勝-
k8 カジノ パチンコ ぱちスロ にゃんこ大戦争 BIGBANGパチスロ スロット 機械割 解析 天井 初打ち 打ち方 スペック ゾーン 設定判別 ヤメ時・演出・プレミアムまとめ
友達と一緒に楽しむのに最適。共通の趣味で盛り上がれます。

GI優駿俱樂部
https://www.ja-securities.jp/tags/%E9%8A%80%E8%A1%8C%E6%8C%AF%E8%BE%BC
キャラクターの個性が豊かで、ストーリーに引き込まれます。感情移入できます。

バイオハザード6
南国育ち
吉宗 2003
ハイビスカスSE
CRルパン三世~消されたルパン
Имя Цитировать 0  
0  
k8casinoErelt
CR 北斗の拳6 天翔百裂
オンラインカジノ
パチンコの仲間との交流が楽しく、共通の趣味で楽しめるのが良いです。友達が増えます。

CR鉄拳2 闘神
https://www.gundam-aria-pachinko.com/tags/%E5%B0%82%E9%96%80%E7%9A%84%E3%81%AA%E3%82%B5%E3%83­%9D%E3%83%BC%E3%83%88
ボーナスゲームの演出が豪華で、楽しみが倍増します。目が離せません。

CR織田信奈の野望II
フィスト・オブ・ディストラクション
魁!!男塾天挑五輪大武會編
CR 花の慶次~焔N-K
黄門ちゃま喝
Имя Цитировать 0  
0  
k8casinoErelt
CRキャプテン翼XX
k8パチンコ
シンプルなルールで、初心者でもすぐに楽しめるのが良いです。気軽に挑戦できます。

CRぱちんこ仮面ライダーMAX EDITION
https://sumaslo.jahromblog.com/tags/%e4%bd%93%e9%a8%93/
大当たりを引いたときの高揚感は何とも言えません。日常のストレスを忘れさせてくれます。

魔法少女まどか☆マギカ
ザ ドッグハウスイン
鬼浜爆走紅蓮隊友情挽歌編
紫の花(特殊大賞燈);
戦国乙女2~深淵に輝く気高き将星
Имя Цитировать 0  
0  
k8casinoErelt
南国育ち
k8 カジノ パチンコ ミリオンゴッドパチスロ スロット 機械割 解析 天井 初打ち 打ち方 スペック ゾーン 設定判別 ヤメ時・演出・プレミアムまとめ
ゲームの進行が早く、短時間でも満足感があります。気軽に楽しめるのが良いです。

GI優駿俱樂部
https://www.k8pachinko.online/tags/%e8%88%aa%e7%a9%ba%e6%a9%9f%e3%81%ae%e6%93%8d%e4­%bd%9c
定期的に新しい台が出るので、飽きずに楽しめます。ファンにはたまらないですね。

L ゴジラ対エヴァンゲリオン
k8パチンコ
北斗の拳-ボクシング王
機動戦士ガンダムユニコーン
紫イミソーレ(スペシャルアワードライト
Имя Цитировать 0  
0  
k8casinoErelt
CR龍が如く見参!天照祗園編
転スラ 設定差
大当たりの瞬間は、心臓がドキドキします。興奮が何とも言えません。

真モグモグ風林火山
https://www.casinobaccarat.live/tags/%E8%AC%8E%E8%A7%A3%E3%81%8D
ビジュアルとサウンドが迫力満点で、プレイ中に没入感が増します。特に恐怖演出が楽しい。

Pこの素晴らしい世界に祝福を!199LT「このラッキートリガーに祝福を!」
k8 カジノ パチンコ
超時空要塞マクロス
八代將軍-自動回転
P Re:ゼロから始める異世界生活 鬼がかりver.
Имя Цитировать 0  
0  
k8casinoErelt
魁!!男塾天挑五輪大武會編
k8 カジノ パチンコ 戦国BASARA3
パチンコの世界には、運だけではなく、戦略も求められます。自分の考えを試す楽しさがあります。

吉宗
https://www.bangbangcasino.org/tags/%E3%82%B2%E3%83%BC%E3%83%A0%E6%A9%9F
定期的に新しいイベントがあり、飽きずに楽しめます。新しい体験が待っています。

CR真・花の慶次L6-K 319ver.
k8パチンコ
P刀使ノ巫女 Ver.199
アラジンAII
CR戦国乙女花
Имя Цитировать 0  
0  
k8casinoErelt
L 主役は銭形 4
k8 カジノ パチンコ
ボーナスゲームの演出が豪華で、楽しみが倍増します。特に大当たり時は圧巻。

押忍!番長
https://www.k8.miami/tags/%e4%b8%96%e7%95%8c
パチンコの世界には、果てしない可能性があります。新しい挑戦を楽しむのが醍醐味です。

シンドバッドアドベンチャーは榎本加奈子でどうですか
オンラインカジノ
CRぱちんこウルトラマンタロウ 戦え!!ウルトラ6兄弟
鯉の滝登り
銀と金2
Имя Цитировать 0  
0  
k8casinoErelt
闘神雷電 -花田勝-
k8 カジノ パチンコ 黃金琉球の守護神パチスロ スロット 機械割 解析 天井 初打ち 打ち方 スペック ゾーン 設定判別 ヤメ時・演出・プレミアムまとめ
歴史をテーマにしたパチスロで、独特の魅力があります。日本の伝統を感じます。

CR燃える闘魂アントニオ猪木~格闘技世界一決定戦~
https://www.ja-securities.jp/games/id1955
戦略的な要素もあり、運だけでなく技術が試されるのが面白いです。

斉天大聖
k8 カジノ パチンコ
L エヴァンゲリオン ~未来への創造~
CRモンスターハンター4
BLOOD 二人の女王
Имя Цитировать 0  
0  
k8casinoErelt
P とある魔術の禁書目録 2
アズールレーンパチンコ 大当たり確率
戦略的な要素もあり、運だけでなく技術が試されるのが面白いです。

Pフィーバーダンベル何キロ持てる
https://www.k8.dance/tags/%e3%83%91%e3%83%81%e3%83%b3%e3%82%b3%e3%82%b2%e3%­83%bc%e3%83%a0
ホラー映画の要素が盛り込まれており、ファンにはたまらない作品です。感情移入できます。

北斗の拳世紀末救世主伝説
e ルパン三世 銭形からの招待状
アイムジャグラーEX
Pフィーバー戦姫絶唱シンフォギア2
ケロロ軍曹
Имя Цитировать 0  
0  
LarryCoock
Elon Musk was star guest this year at an annual conference organized by Italian PM Giorgia Meloni?s Brothers of Italy party.
kraken25.at
He arrived against the backdrop of an ice-skating rink and an ancient castle in Rome with one of his 11 children to tout the value of procreation.

Italy has one of the lowest birth rates in the world, and Musk urged the crowd to ?make more Italians to save Italy?s culture,? a particular focus of the Meloni government.

https://kraken3at.com
kraken22.at
Meloni has been a strong opponent of surrogacy, which is criminalized in Italy, but there was no mention of Musk?s own recent children born of surrogacy.

The owner of X (formerly called Twitter) was slightly rumpled with what could easily be argued the least stylish shoes in the mostly Italian crowd since Donald Trump?s often unkempt former top adviser Steve Bannon appeared at the conference in 2018.
Meloni sat in the front row taking photos of Musk, who she personally invited. Meloni founded the Atreju conference in 1998, named after a character in the 1984 film ?The NeverEnding Story.?
Имя Цитировать 0  
0  
Значение снов по традициям — Юнга
Толкование снов — интересная тема, интересует огромного количества людей. Сон имеет определенную символику и объясняется с помощью разных сонников. В данной статье мы расскажем о самых известных сонниках — Магическом и расскажем, как понять сны с их применением.

Сонник Миллера
Толкования Миллера построен на глубоком исследовании символов снов. Миллер утверждал, что сон показывают, как избежать неприятностей и отражают наше подсознание.

Сонник Фрейда
Значение снов по Фрейду известен тем, что секс и инстинкты как основные мотивы сновидений. Фрейд утверждал, что сон — это способ узнать свои внутренние конфликты.

Сонник Нострадамуса
Толкования Нострадамуса получил популярность благодаря способности предсказывать. По Нострадамусу, сны могут рассказать о будущем в мировой истории.

Сонник Юнга
Сны по Юнгу опирается на теорию универсальных образов. Юнг считал, что сон символизирует внутренний мир человека.

Сонник Лоффа
Толкование Лоффа основан на личных переживаниях сновидца. Согласно Лоффу, все люди видит уникальные символы, следовательно, толкование должно быть учитывать особенности личности.

Сонник Ванги
Значение снов по Ванге включает элементы предсказания. По мнению Ванги сновидения раскрывают тайные смыслы и помогают человеку понять важные события.

Сонник Цветкова
Значение снов по Цветкову отражает необычные толкования. Цветков отмечал, что сны — это предзнаменования духовного мира.

Магический сонник
Значения снов по Магическому соннику включает оккультные символы. Знаки имеют магическое значение.

Лунный сонник
Лунный сонник связан с лунным циклом. Согласно Лунному соннику, что луна влияет на смысл увиденного.

Славянский сонник
Сонник древних славян включает мифологию и обряды. Сон в славянской традиции считался посланием от духов.

Семейный сонник
Семейное толкование рассматривает бытовые символы. Семейный сонник объясняет события из повседневной жизни.

Русский сонник
Сонник по русским традициям содержит множество русских символов. Толкования отражают древние верования и включают известные образы.

Мусульманский сонник
Мусульманский сонник основан на исламских преданиях. В мусульманских сновидениях каждое видение имеет духовное значение.

Изучение снов позволит узнать больше о себе и научит использовать сны.

https://fin-omen.ru/tolkovanie-snov-k-chemu-snitsya-ovca.html
https://miagarovo.ru/gadanie/gadanie-po-snam.html
https://styleprincess.ru/ctrizhka-tolkovanie-sonnika-strich-volosy-vo-sne---k-chemu/
https://islamvevrazii.ru/sonnik-led-katatsya-na-ldu-provalitsya-pod-led-vo-sne-k-chemu/
https://1001oracul.ru/love/k-chemu-snitsya-umershaya-snoha-k-chemu-snitsya-nevestka.html

Значение снов по традициям — Миллера
Расшифровка сна по
Расшифровка сна по традициям — Миллера
1751adc
Имя Цитировать 0  
0  
Waynesuins
Услуги монтажа ливневок по Москве и Московской области Работаем без выходных.https://drenaj-mos.ru/
Имя Цитировать 0  
0  
pupis
Приложения для ставок на спорт с бонусами доступны для всех пользователей Android. Скачайте их бесплатно — скачать приложение БК
Имя Цитировать 0  
0  
LloydhiX
Имя Цитировать 0  
0  
LarryTof
Elon Musk was star guest this year at an annual conference organized by Italian PM Giorgia Meloni’s Brothers of Italy party.
kraken15
He arrived against the backdrop of an ice-skating rink and an ancient castle in Rome with one of his 11 children to tout the value of procreation.

Italy has one of the lowest birth rates in the world, and Musk urged the crowd to “make more Italians to save Italy’s culture,” a particular focus of the Meloni government.

https://kraken16.info
kraken17
Meloni has been a strong opponent of surrogacy, which is criminalized in Italy, but there was no mention of Musk’s own recent children born of surrogacy.

The owner of X (formerly called Twitter) was slightly rumpled with what could easily be argued the least stylish shoes in the mostly Italian crowd since Donald Trump’s often unkempt former top adviser Steve Bannon appeared at the conference in 2018.
Meloni sat in the front row taking photos of Musk, who she personally invited. Meloni founded the Atreju conference in 1998, named after a character in the 1984 film “The NeverEnding Story.”
Имя Цитировать 0  
0  
pupis
Чтобы начать делать ставки, скачайте легальные БК и наслаждайтесь игрой с вашего смартфона
Имя Цитировать 0  
0  
Значение снов по традициям — Нострадамуса и других
Сны — интересная тема, интересует большинства людей. Каждый сон имеет свой смысл и поддается толкованию с помощью популярных сонников. В этой статье мы расскажем о основных истолкованиях снов — Лунном и поделимся, как толковать сны с их помощью.

Сонник Миллера
Толкования Миллера основан на детальном изучении символов снов. Миллер писал, что сны дают нам возможность, как поступить в трудной ситуации и отражают наше подсознание.

Сонник Фрейда
Значение снов по Фрейду отличается тем, что секс и инстинкты как основные мотивы сновидений. Фрейд считал, что сновидческий процесс — это реализация наших тайных желаний.

Сонник Нострадамуса
Толкования Нострадамуса получил популярность благодаря своим пророчествам. Согласно Нострадамусу, сновидения могут дать предчувствие в судьбах наций.

Сонник Юнга
Сны по Юнгу опирается на теорию коллективного бессознательного. Юнг верил, что сон символизирует внутренний мир человека.

Сонник Лоффа
Значение снов по Лоффу делает акцент на персональных символах. По Лоффу, все люди создает собственные образы, следовательно, толкование должно быть учитывать особенности личности.

Сонник Ванги
Сонник Ванги включает элементы предсказания. Ванга утверждала, что сон указывает на будущее и помогают человеку понять важные события.

Сонник Цветкова
Значение снов по Цветкову содержит множество символов. Цветков утверждал, что сны — это знаки судьбы человека.

Магический сонник
Толкования Магического сонника основан на мистике. Многие символы имеют магическое значение.

Лунный сонник
Лунный сонник связан с лунным циклом. По этому соннику, что луна влияет на смысл увиденного.

Славянский сонник
Сонник древних славян основан на древних верованиях. Сон в славянской традиции был символом связи с предками.

Семейный сонник
Семейное толкование подходит для всех членов семьи. Толкования семейного сонника переживания, связанные с домом и семьей.

Русский сонник
Толкования по-русски базируется на народной мудрости. Толкования отражают древние верования и передают народное отношение к миру.

Мусульманский сонник
Исламский сонник основан на исламских преданиях. В исламских толкованиях каждое видение имеет духовное значение.

Понимание символов сна позволит узнать больше о себе и покажет, как использовать сны.

https://hram-bal.ru/k-chemu-snitsya-chernyi-volk-devushke-volchi-sledy-v-znamenityh-sonnikah/
https://ufo-online.ru/file_2439.html
https://cardul.ru/k-chemu-snitsya-hryushka-k-chemu-snyatsya-kabany-i-svini-k-chemu/
http://bumars.ru/387-strannye-sny.html
https://cardul.ru/pushistyi-kot-razgovarivaet-s-hozyainom-vo-sne-govoryashchaya-koshka-videt-vo/

Значение снов по известным толкователям — Фрейда
Значение снов по сонникам — Миллера
Значение снов по сонникам — Юнга
2fed6ad
Имя Цитировать 0  
Страницы: Пред. 1 ... 207 208 209 210 211 ... 264 След.
Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Отправить Отменить
Защита от автоматических сообщений
 
Публикация статей
На данной странице представлены элементы инфоблока статьи, относящиеся к типу Публикации. Статьи опубликованы на странице с помощью комплексного компонента Новостной раздел с указанием параметров инфоблока Статьи. При создании каждой статьи был использован тег <break />, который позволяет осуществить разделение статьи на страницы. В публичном разделе такая статья будет представлена в виде нескольких страниц в зависимости от количества тегов <break />

liqpay webmoney privat24 visa mastercard
2002-2017 © InKey
All rights reserved