<?php
/* Cachekey: cache/stash_default/zend/zend_i18n_translator_messages_817601c0e7bd3054c0c41e1e4d6d67aa/ */
/* Type: array */
/* Expiration: 2026-10-24T23:11:12+02:00 */
$loaded = true;
$expiration = 1792876272;
$data = array();
/* Child Type: object */
$data['return'] = unserialize(base64_decode('TzozMToiWmVuZFxJMThuXFRyYW5zbGF0b3JcVGV4dERvbWFpbiI6NDp7aTowO2k6MDtpOjE7YTozMDA6e3M6OToiJyVzJyB0ZXh0IjtzOjEwOiInJXMnIHRla3N0IjtzOjg6Ii0tICVzIC0tIjtzOjg6Ii0tICVzIC0tIjtzOjEwMToiLi4gYW5kIHRoZSBwbGF5ZXIgY29udHJvbHMgd2lsbCBzbGlkZSBvdXQgb2YgdmlldyBhIGNvdXBsZSBvZiBzZWNvbmRzIGFmdGVyIHRoZSB2aWRlbyBzdGFydHMgcGxheWluZy4iO3M6MTEzOiIuLiBlbiBkZSB2aWRlb3NwZWxlciBiZWRpZW5pbmdlbiB6dWxsZW4gdWl0IGhldCB6aWNodCB2ZXJ3aWplbiBlZW4gcGFhciBzZWNvbmRlbiBuYWRhdCBkZSB2aWRlbyBiZWdpbnQgdGUgc3BlbGVuLiI7czo4NzoiLi4gYW5kIHRoZSB2aWRlbyBwbGF5ZXIgY29udHJvbHMgd2lsbCBiZSB2aXNpYmxlIHRocm91Z2hvdXQgdGhlIHZpZGVvIGFuZCBpbiBmdWxsc2NyZWVuIjtzOjk5OiIuLiBlbiBkZSB2aWRlb3NwZWxlciBiZWRpZW5pbmdlbiB6dWxsZW4gemljaHRiYWFyIHppam4gaW4gZGUgaGVsZSB2aWRlbyBlbiBpbiB2b2xsZWRpZyBzY2hlcm0tbW9kdXMiO3M6NTM6Ii4uIGZhZGVzIG91dCB3aGlsZSB0aGUgcGxheWVyIGNvbnRyb2xzIHJlbWFpbiB2aXNpYmxlIjtzOjYxOiIuLiB2ZXJkd2lqbnQsIHRlcndpamwgZGUgcGxheWVyIGJlZGllbmluZ2VuIHppY2h0YmFhciBibGlqdmVuIjtzOjk1OiI8c3Ryb25nPiVzPC9zdHJvbmc+IGlzIGluIHRoZSBibGFja2xpc3Qgb2YgdG8gYmUgdXNlZCBibG9jayBoYW5kbGVzLiBQbGVhc2UgdHJ5IGFub3RoZXIgaGFuZGxlLiI7czoxMDY6IjxzdHJvbmc+JXM8L3N0cm9uZz4gc3RhYXQgb3AgZGUgendhcnRlIGxpanN0IHZhbiB0ZSBnZWJydWlrZW4gaGFuZHZhdGVuLiBQcm9iZWVyIGEudS5iLiBlZW4gYW5kZXIgaGFuZHZhdC4iO3M6NDI6IkEgJ1doYXQtWW91LVNlZS1Jcy1XaGF0LVlvdS1HZXQnIHRleHQgYXJlYSI7czo0NjoiRWVuICdXaGF0LVlvdS1TZWUtSXMtV2hhdC1Zb3UtR2V0JyB0ZWtzdGdlYmllZCI7czoyMToiQSBZb3VUdWJlIGVtYmVkIGZpZWxkIjtzOjI4OiJFZW4gWW91VHViZSBlbWJlZCBpbnZvZXJ2ZWxkIjtzOjI2OiJBIGNvbG9yIHBpY2tlciBpbnB1dCBmaWVsZCI7czoyNzoiRWVuIGtsZXVyIGtpZXplciBpbnZvZXJ2ZWxkIjtzOjMzOiJBIGRhdGUgKyB0aW1lLCBkYXRlIG9yIHRpbWUgZmllbGQiO3M6NDI6IkVlbiBkYXR1bSArIHRpamQsIGRhdHVtIG9mIHRpamQgaW52b2VydmVsZCI7czo4MjoiQSBmaWVsZCB3aXRoIG11bHRpcGxlIG9wdGlvbnMgKGFsc28ga25vd24gYXMgZHJvcGRvd24pLCB3aGVyZSB5b3UgbmVlZCB0byBwaWNrIG9uZSI7czo5MjoiRWVuIGludm9lcnZlbGQgbWV0IG1lZXJkZXJlIG9wdGllcyAob29rIHdlbCBiZWtlbmQgYWxzICdkcm9wZG93bicpLCB3YWFyIHUgZXIgZWVuIHNlbGVjdGVlcmQiO3M6MTI6IkEgZmlsZSBmaWVsZCI7czoyMjoiRWVuIGJlc3RhbmQgaW52b2VydmVsZCI7czoxNDoiQSBudW1iZXIgZmllbGQiO3M6MjM6IkVlbiBudW1lcmllayBpbnZvZXJ2ZWxkIjtzOjE1OiJBIHBhZ2Ugc2VsZWN0b3IiO3M6MTc6IkVlbiBwYWdpbmEta2llemVyIjtzOjY2OiJBIHNpbXBsZSB0ZXh0IGFyZWEgdG8gcGxhY2UgaW4geW91ciBQSFAsIEhUTUwsIENTUyAob3Igb3RoZXIpIGNvZGUiO3M6Nzg6IkVlbiBlZW52b3VkaWcgdGVrc3RnZWJpZWQgb20gdXcgUEhQLCBIVE1MLCBDU1MgKG9mIGFuZGVyZSkgY29kZSBpbiB0ZSBwbGFhdHNlbiI7czo2NToiQSBzaW1wbGUgdGV4dCBhcmVhIHdoZXJlIHlvdSBjYW4gdXNlIGFsbCBtYXJrZG93biBmdW5jdGlvbmFsaXRpZXMiO3M6OTA6IkVlbiBlZW52b3VkaWcgdGVrc3RnZWJpZWQgd2FhcmluIGFsbGUgbWFya2Rvd24gZnVuY3Rpb25hbGl0ZWl0ZW4gaW4gZ2VicnVpa3Qga3VubmVuIHdvcmRlbiI7czo0MjoiQSBzaW1wbGUgdGV4dCBhcmVhIHdpdGggbm8gZWRpdGluZyBvcHRpb25zIjtzOjQ5OiJFZW4gZWVudm91ZGlnIHRla3N0Z2ViaWVkIHpvbmRlciBiZXdlcmtpbmdzb3B0aWVzIjtzOjE0OiJBIHN0YWNrcyBmaWVsZCI7czoyNDoiRWVuICdzdGFwZWxzJyBpbnZvZXJ2ZWxkIjtzOjE4OiJBIHRleHQgaW5wdXQgZmllbGQiO3M6MjA6IkVlbiB0ZWtzdCBpbnZvZXJ2ZWxkIjtzOjU2OiJBIHRleHQgaW5wdXQgZmllbGQsIHdoZXJlIHlvdSB3b3VsZCBlbnRlciBhbiBodHRwOi8vIFVSTCI7czo1NzoiRWVuIHRla3N0IGludm9lcnZlbGQsIHdhYXIgdSBlZW4gaHR0cDovLyBVUkwgem91IGludm9lcmVuIjtzOjk6IkFkZCBDb2xvciI7czoxNToiS2xldXIgdG9ldm9lZ2VuIjtzOjc6IkFkZCBSb3ciO3M6MTM6IlJpaiB0b2V2b2VnZW4iO3M6MTE6IkFkZCBhIGZpZWxkIjtzOjE4OiJFZW4gdmVsZCB0b2V2b2VnZW4iO3M6ODoiQWR2YW5jZWQiO3M6MTE6IkdlYXZhbmNlZXJkIjtzOjM0OiJBbGxvdyBhbHBoYSB0cmFuc3BhcmVuY3kgc2VsZWN0aW9uIjtzOjM1OiJTdGEgYWxwaGEgdHJhbnNwYXJlbmN5IHNlbGVjdGllIHRvZSI7czoxMToiQWxsb3cgZW1wdHkiO3M6MTg6IlN0YSBsZWVnd2FhcmRlIHRvZSI7czozNDoiQWx3YXlzIHNob3cgdXAgYXQgZnVsbCBzaXplIChmbGF0KSI7czozODoiVG9vbiBhbHRpamQgb3Agdm9sbGVkaWcgZm9ybWFhdCAocGxhdCkiO3M6MTQ6IkFuIGVtYWlsIGZpZWxkIjtzOjIwOiJFZW4gZW1haWwgaW52b2VydmVsZCI7czoxNzoiQW4gaW1hZ2Ugc2VsZWN0b3IiO3M6MjE6IkVlbiBhZmJlZWxkaW5nLWtpZXplciI7czo1MToiQW4gdW5rbm93biBmaWVsZCB0eXBlIHdhcyBwb3N0ZWQuIFBsZWFzZSB0cnkgYWdhaW4uIjtzOjY2OiJFZW4gb25iZWtlbmQgdmVsZCB0eXBlIGlzIG1lZWdlc3R1dXJkLiBQcm9iZWVyIGhldCBhLnUuYi4gb3BuaWV1dy4iO3M6MTAyOiJBbnl0aGluZyBlbnRlcmVkIGhlcmUgd2lsbCBiZSBkaXJlY3RseSBvdXRwdXR0ZWQgdG8gdGhlIGJsb2NrIHZpZXcuIFVzZXJzIHdpbGwgbm90IGJlIGFibGUgdG8gZWRpdCBpdC4iO3M6MTM1OiJBbGxlcyB3YXQgaGllciB3b3JkdCBpbmdldm9lcmQsIHphbCBkaXJlY3QgZ2V0b29uZCB3b3JkZW4gYmlubmVuIGhldCBibG9rIHR5cGUuIEdlYnJ1aWtlcnMgaGViYmVuIGdlZW4gbW9nZWxpamtoZWlkIG9tIGRpdCB0ZSBiZXdlcmtlbi4iO3M6MTk6IkFzIHNlZW4gaW4gdGhlIGZvcm0iO3M6MzA6IlpvYWxzIHRlIHppZW4gaW4gaGV0IGZvcm11bGllciI7czo2OiJBc3NldHMiO3M6NjoiQXNzZXRzIjtzOjk6IkF1dG8gaGlkZSI7czoyMToiQXV0b21hdGlzY2ggdmVyYmVyZ2VuIjtzOjk6IkF1dG8gcGxheSI7czoyMToiQXV0b21hdGlzY2ggYWZzcHJlbGVuIjtzOjIxOiJBdXRvbWF0aWNhbGx5IGRpc2FibGUiO3M6MjQ6IkF1dG9tYXRpc2NoIHVpdHNjaGFrZWxlbiI7czo1MjoiQXV0b21hdGljYWxseSBoaWRlIGFmdGVyIGEgcGFsZXR0ZSBjb2xvciBpcyBzZWxlY3RlZCI7czo1OToiQXV0b21hdGlzY2ggdmVyYmVyZ2VuIG5hZGF0IGVlbiBwYWxldCBrbGV1ciBpcyBnZXNlbGVjdGVlcmQiO3M6NjoiQmFzaWNzIjtzOjEzOiJCYXNpc2dlZ2V2ZW5zIjtzOjE3OiJCZXR3ZWVuICVzIGFuZCAlcyI7czoxNToiVHVzc2VuICVzIGVuICVzIjtzOjE0OiJCbG9jayBEZXNpZ25lciI7czoxNDoiQmxvY2sgRGVzaWduZXIiO3M6MTI6IkJsb2NrIGhhbmRsZSI7czoxNzoiQmxvayB0eXBlIGhhbmR2YXQiO3M6NjA6IkJsb2NrIGhhbmRsZSA8c3Ryb25nPiVzPC9zdHJvbmc+IGRvZXMgbm90IG1hdGNoIG91ciBwYXR0ZXJuLiI7czo3MjoiQmxvayB0eXBlIGhhbmR2YXQgPHN0cm9uZz4lczwvc3Ryb25nPiBrb210IG5pZXQgb3ZlcmVlbiBtZXQgb25zIHBhdHJvb24uIjtzOjEwOiJCbG9jayBpbmZvIjtzOjIwOiJCbG9rIHR5cGUgaW5mb3JtYXRpZSI7czoxMDoiQmxvY2sgbmFtZSI7czoxNDoiQmxvayB0eXBlIG5hYW0iO3M6MTY6IkJsb2NrIG9yZGVyIGluZm8iO3M6Mjk6IkJsb2sgdHlwZSB2b2xnb3JkZSBpbmZvcm1hdGllIjtzOjM1OiJCbG9jayB0eXBlICVzIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LiI7czo0MjoiQmxvayB0eXBlIHR5cGUgJXMgaXMgc3VjY2Vzdm9sIGdlY3Jlw6tlcmQuIjtzOjU2OiJCbG9jayB0eXBlIDxzdHJvbmc+JXM8L3N0cm9uZz4gZG9lcyBub3QgZXhpc3QgKGFueW1vcmUpLiI7czo1MDoiQmxvayB0eXBlIDxzdHJvbmc+JXM8L3N0cm9uZz4gYmVzdGFhdCBuaWV0IChtZWVyKS4iO3M6NTI6IkJsb2NrIHR5cGUgPHN0cm9uZz4lczwvc3Ryb25nPiBpcyBhbHJlYWR5IGluc3RhbGxlZC4iO3M6NTQ6IkJsb2sgdHlwZSA8c3Ryb25nPiVzPC9zdHJvbmc+IGlzIHJlZWRzIGdlw69uc3RhbGxlZXJkLiI7czoxNTI6IkJsb2NrIHR5cGUgZm9sZGVyIDxzdHJvbmc+JXM8L3N0cm9uZz4gYWxyZWFkeSBleGlzdHMuIFlvdSB3YW50IHRvIDxhIGhyZWY9IiVzIiBjbGFzcz0iZGVsZXRlX2ZvbGRlciI+PHN0cm9uZz5kZWxldGUgdGhpcyBibG9jayB0eXBlIGZvbGRlcjwvc3Ryb25nPjwvYT4/IjtzOjE0MzoiQmxvayB0eXBlIG1hcCA8c3Ryb25nPiVzPC9zdHJvbmc+IGJlc3RhYXQgcmVlZHMuIFdpbHQgdSA8YSBocmVmPSIlcyIgY2xhc3M9ImRlbGV0ZV9mb2xkZXIiPjxzdHJvbmc+ZGV6ZSBibG9rIHR5cGUgbWFwIHZlcndpamRlcmVuPC9zdHJvbmc+PC9hPj8iO3M6MzQ6IkJsb2NrIHR5cGUgaW5zdGFsbGVkIHN1Y2Nlc3NmdWxseS4iO3M6Mzg6IkJsb2sgdHlwZSBpcyBzdWNjZXN2b2wgZ2XDr25zdGFsbGVlcmQuIjtzOjE0OiJCbG9jayB0eXBlIHNldCI7czoxNToiQmxvayB0eXBlIGdyb2VwIjtzOjEyNDoiQmxvY2sgdHlwZSB3aXRoIGhhbmRsZSA8c3Ryb25nPiVzPC9zdHJvbmc+IGFscmVhZHkgaW5zdGFsbGVkLiBQbGVhc2UgdXNlIGEgZGlmZmVyZW50IGhhbmRsZSwgYmVmb3JlIGNvbnRpbnVpbmcgdGhpcyBwcm9jZXNzLiI7czoxMzU6IkJsb2sgdHlwZSBtZXQgaGFuZHZhdCA8c3Ryb25nPiVzPC9zdHJvbmc+IGlzIHJlZWRzIGdlw69uc3RhbGxlZXJkLiBHZWJydWlrIGEudS5iLiBlZW4gYW5kZXIgaGFuZHZhdCwgdm9vcmRhdCB1IGRvb3JnYWF0IG1ldCBkaXQgcHJvY2VzLiI7czo0NToiQnVpbGQgUEhQIHN3aXRjaCwgSSB3aWxsIGNvZGUgdGhlIHJlc3QgbXlzZWxmIjtzOjQ2OiJCb3V3IGRlIFBIUCBzd2l0Y2gsIGlrIGNvZGVlciBkZSByZXN0IHplbGYgd2VsIjtzOjE4OiJDYWNoZSBibG9jayBvdXRwdXQiO3M6MTg6IkNhY2hlIGJsb2NrIG91dHB1dCI7czozOToiQ2FjaGUgYmxvY2sgb3V0cHV0IGZvciByZWdpc3RlcmVkIHVzZXJzIjtzOjQ5OiJDYWNoZSBibG9jayBvdXRwdXQgdm9vciBnZXJlZ2lzdHJlZXJkZSBnZWJydWlrZXJzIjtzOjI3OiJDYWNoZSBibG9jayBvdXRwdXQgbGlmZXRpbWUiO3M6MjM6IkNhY2hlIGJsb2NrIG91dHB1dCBkdXVyIjtzOjI2OiJDYWNoZSBibG9jayBvdXRwdXQgb24gcG9zdCI7czo0NToiQ2FjaGUgYmxvY2sgb3V0cHV0IG1ldCBmb3JtdWxpZXIvcG9zdCB3YWFyZGVzIjtzOjE4OiJDYWNoZSBibG9jayByZWNvcmQiO3M6MTg6IkNhY2hlIGJsb2NrIHJlY29yZCI7czo2OiJDYW5jZWwiO3M6OToiQW5udWxlcmVuIjtzOjY6IkNob29zZSI7czo2OiJLaWV6ZW4iO3M6OToiQ2xhc3MoZXMpIjtzOjExOiJLbGFzc2VuYW1lbiI7czo0NjoiQ2xhc3MoZXMpIHRvIGJlIGFkZGVkIHRvIHRoZSBpRnJhbWUsIGkuZS4gJyVzJyI7czo2ODoiS2xhc3NlbmFtZW4gd2Vsa2UgdG9lZ2V2b2VnZCB6dWxsZW4gd29yZGVuIGFhbiBkZSBpRnJhbWUsIGJpanYuICclcyciO3M6NTM6IkNsYXNzKGVzKSB0byBiZSBhZGRlZCB0byB5b3VyIGVtYWlsIGFuY2hvciwgaS5lLiAnJXMnIjtzOjcyOiJLbGFzc2VuYW1lbiB3ZWxrZSB0b2VnZXZvZWdkIHp1bGxlbiB3b3JkZW4gYWFuIGRlIGVtYWlsIGxpbmssIGJpanYuICclcyciO3M6NDU6IkNsYXNzKGVzKSB0byBiZSBhZGRlZCB0byB5b3VyIGZpbGUsIGkuZS4gJyVzJyI7czo3MDoiS2xhc3NlbmFtZW4gd2Vsa2UgdG9lZ2V2b2VnZCB6dWxsZW4gd29yZGVuIGFhbiBoZXQgYmVzdGFuZCwgYmlqdi4gJyVzJyI7czo0NjoiQ2xhc3MoZXMpIHRvIGJlIGFkZGVkIHRvIHlvdXIgaW1hZ2UsIGkuZS4gJyVzJyI7czo3MDoiS2xhc3NlbmFtZW4gZGllIHp1bGxlbiB3b3JkZW4gdG9lZ2V2b2VnZCBhYW4gZGUgYWZiZWVsZGluZywgYmlqdi4gJyVzJyI7czo0NToiQ2xhc3MoZXMpIHRvIGJlIGFkZGVkIHRvIHlvdXIgbGluaywgaS5lLiAnJXMnIjtzOjY2OiJLbGFzc2VuYW1lbiB3ZWxrZSB0b2VnZXZvZWdkIHp1bGxlbiB3b3JkZW4gYWFuIGRlIGxpbmssIGJpanYuICclcyciO3M6MjE6IkNsZWFyIENvbG9yIFNlbGVjdGlvbiI7czoxNzoiV2lzIGtsZXVyc2VsZWN0aWUiO3M6Nzg6IkNsaWNrIG9uIGEgZGVzaXJlZCBibG9jayB0eXBlIHRvIGxvYWQgdGhlIGNvbmZpZyBpbnRvIHRoZSBCbG9jayBEZXNpZ25lciBmb3JtLiI7czo5NDoiS2xpayBvcCBlZW4gZ2V3ZW5zdGUgYmxvayB0eXBlIG9tIGRlIGNvbmZpZ3VyYXRpZSBpbiBoZXQgQmxvY2sgRGVzaWduZXIgZm9ybXVsaWVyIGluIHRlIGxhZGVuLiI7czoyMToiQ2xpY2tvdXQgZmlyZXMgY2hhbmdlIjtzOjM1OiJFcmJ1aXRlbiBrbGlra2VuIGFjdGl2ZWVydCBgY2hhbmdlYCI7czo0OiJDb2RlIjtzOjQ6IkNvZGUiO3M6MTI6IkNvbGxhcHNlIEFsbCI7czoxNToiQWxsZXMgaW5rbGFwcGVuIjtzOjEyOiJDb2xvciBQaWNrZXIiO3M6MTE6IktsZXVya2llemVyIjtzOjI1NzoiQ29weS9wYXN0ZSB0aGUgQ1NTIGFuZCBKYXZhU2NyaXB0IHlvdSBuZWVkIGhlcmUsIGluIG9yZGVyIHRvIGdldCB5b3VyIGJsb2NrIHNob3cvYmVoYXZlIGxpa2UgaXQgc2hvdWxkLiBUaGluayB0d2ljZSBpZiB0aGUgYXNzZXRzIHlvdSBuZWVkLCByZWFsbHkgY2FuIG5vdCBiZSBpbXBsZW1lbnRlZCBpbnRvIHRoZSB0aGVtZS4gTG9hZGluZyBtb3JlIGFzc2V0cyB3aWxsIG1lYW4gbW9yZSByZXF1ZXN0cyB0byB5b3VyIHdlYnNpdGUgKHBlciB1c2VyKSEiO3M6MzA4OiIgS29waWVlci9wbGFrIGRlIENTUyBlbiBKYXZhU2NyaXB0IGRpZSBqZSBub2RpZyBoZWJ0IGhpZXIsIG9tIGplIGJsb2stZm9ybWFhdCB0ZSB0b25lbi9sYXRlbiB3ZXJrZW4gem9hbHMgaGV0IGhvb3J0LiBEZW5rIGdvZWQgbmEgb2YgZGUgYXNzZXRzIGRpZSBqZSBub2RpZyBoZWJ0LCBkYWFkd2Vya2VsaWprIG5pZXQgaW4gaGV0IHRoZW1hIGdlw69tcGxlbWVudGVlcmQga3VubmVuIHdvcmRlbi4gSGV0IGxhZGVuIHZhbiBtZWVyIGFzc2V0cyBiZXRla2VudCBtZWVyIHZlcnpvZWtlbiBuYWFyIGplIHdlYnNpdGUgKHBlciBnZWJydWlrZXIpISI7czo5OToiQ3JlYXRlIGEgbmV3IGJsb2NrIHR5cGUgYnkgZW50ZXJpbmcgc29tZSBiYXNpYyBpbmZvIGFuZCBhZGRpbmcgb25lIG9yIG1vcmUgZmllbGRzIChmaWVsZHMgc2VjdGlvbikuIjtzOjEyMDoiTWFhayBlZW4gbmlldXcgYmxvayB0eXBlLCBkb29yIGVua2VsZSBiYXNpc2dlZ2V2ZW5zIGluIHRlIHZ1bGxlbiBlbiBlZW4gb2YgbWVlcmRlcmUgdmVsZGVuIHRvZSB0ZSB2b2VnZW4gKHZlbGRlbiBzZWN0aWUpIjtzOjQ0OiJDcm9wIHRoZSBpbWFnZSB0byB0aGUgZ2l2ZW4gd2lkdGggYW5kIGhlaWdodCI7czo1MzoiU25pamQgZGUgYWZiZWVsZGluZyB0b3QgZWVuIGdlZ2V2ZW4gYnJlZWR0ZSBlbiBob29ndGUiO3M6NjoiQ3VzdG9tIjtzOjk6IkFhbmdlcGFzdCI7czoxMToiQ3VzdG9tIHNpemUiO3M6MTg6IkFhbmdlcGFzdGUgZ3Jvb3R0ZSI7czoxNzoiRGF0YWJhc2UgZGVjaW1hbHMiO3M6MTg6IkRhdGFiYXNlIGRlY2ltYWxlbiI7czoxNToiRGF0YWJhc2UgbGVuZ3RoIjtzOjE1OiJEYXRhYmFzZSBsZW5ndGUiO3M6OToiRGF0ZSBUaW1lIjtzOjEwOiJEYXR1bSB0aWpkIjtzOjExOiJEYXRlIGZvcm1hdCI7czoxMjoiRGF0dW1ub3RhdGllIjtzOjI4OiJEYXRldGltZXBpY2tlciBwbHVnaW4gY29uZmlnIjtzOjM0OiJEYXRldGltZXBpY2tlciBwbHVnaW4gY29uZmlndXJhdGllIjtzOjEzOiJEZWNpbWFsIHBvaW50IjtzOjEzOiJEZWNpbWFhbHRla2VuIjtzOjg6IkRlY2ltYWxzIjtzOjk6IkRlY2ltYWxlbiI7czoyMjoiRGVmYXVsdCBibG9jayB0eXBlIHNldCI7czoyNToiU3RhbmRhYXJkIGJsb2sgdHlwZSBncm9lcCI7czoxMjoiRGVmYXVsdCBkYXRlIjtzOjE1OiJTdGFuZGFhcmQgZGF0dW0iO3M6Mjg6IkRlZmF1bHRzIHRvIHRvZGF5ICsxMDAgeWVhcnMiO3M6MzM6IlZhbHQgdGVydWcgbmFhciB2YW5kYWFnICsxMDAgamFhciI7czo2OiJEZWxldGUiO3M6MTE6IlZlcndpamRlcmVuIjtzOjEwOiJEZWxldGUgUm93IjtzOjE1OiJSaWogdmVyd2lqZGVyZW4iO3M6MTE6IkRlc2NyaXB0aW9uIjtzOjEyOiJPbXNjaHJpanZpbmciO3M6NTE6IkRlc2lnbiB5b3VyIG93biBjb250ZW50IGJsb2NrcyB3aXRoaW4gYSBmZXcgY2xpY2tzISI7czo1NzoiT250d2VycCBqZSBlaWdlbiBjb250ZW50IGJsb2trZW4gYmlubmVuIGVlbiBwYWFyIGtsaWtrZW4hIjtzOjEyOiJEZXZlbG9wZWQgYnkiO3M6MTU6Ik9udHdpa2tlbGQgZG9vciI7czoxNDoiRGlyZWN0IGluc3RhbGwiO3M6MTg6IkRpcmVjdCBpbnN0YWxsZXJlbiI7czoyMDg6IkRpcmVjdG9yeSA8c3Ryb25nPiVzPC9zdHJvbmc+IGRvZXMgbm90IGV4aXN0IGFuZCBuZWVkcyB0byBleGlzdCBiZWZvcmUgeW91IGNhbiB1c2UgdGhpcyBwYWNrYWdlLiBQbGVhc2UgY3JlYXRlIHRoaXMgaW4geW91ciBlbnZpcm9ubWVudCBhbmQgZ2l2ZSBpdCByZWFkLCB3cml0ZSBhbmQgZXhlY3V0ZSBwZXJtaXNzaW9ucyAoPHN0cm9uZz4wNzc3PC9zdHJvbmc+KS4iO3M6MjAzOiJNYXAgPHN0cm9uZz4lczwvc3Ryb25nPiBiZXN0YWF0IG5pZXQgZW4gbW9ldCBiZXN0YWFuIHZvb3JkYXQgZGV6ZSBleHRlbnNpZSBnZWJydWlrdCBrYW4gd29yZGVuLiBNYWFrIGRlemUgbWFwIGFhbiBpbiB1dyBvbWdldmluZyBlbiBnZWVmIGhldCBsZWVzLSwgc2NocmlqZi0gZW4gdWl0dm9lciBwZXJtaXNzaWVzICg8c3Ryb25nPjA3Nzc8L3N0cm9uZz4pLiI7czoxNjoiRGlzYWJsZSBrZXlib2FyZCI7czoyMToiS2V5Ym9hcmQgdWl0c2NoYWtlbGVuIjtzOjIxOiJEaXNhbGxvdyBmbG9hdCBudW1iZXIiO3M6MjY6IkRlY2ltYWxlIGdldGFsbGVuIHdlaWdlcmVuIjtzOjQ1OiJEbyBub3Qgc2V0IHRoZSB2YWx1ZSB0byB0aGUgY3VycmVudCBkYXRlL3RpbWUiO3M6NDU6IlpldCBkZSB3YWFyZGUgbmlldCBuYWFyIGRlIGh1aWRpZ2UgZGF0dW0vdGlqZCI7czo1NjoiRG8gbm90IHNob3cgYW4gZXh0cmEgZmllbGQsIHdoZXJlIGEgdGl0bGUgY2FuIGJlIGVudGVyZWQiO3M6NjM6IlRvb24gZ2VlbiBleHRyYSBpbnZvZXJ2ZWxkLCB3YWFyIGVlbiB0aXRlbCBrYW4gd29yZGVuIGluZ2V2b2VyZCI7czo3NjoiRG8gbm90IHNob3cgYW4gZXh0cmEgZmllbGQsIHdoZXJlIGFuIGFsdGVybmF0aXZlIChwYWdlKSB0aXRsZSBjYW4gYmUgZW50ZXJlZCI7czo4NToiVG9vbiBnZWVuIGV4dHJhIGludm9lcnZlbGQsIHdhYXIgZWVuIGFsdGVybmF0aWV2ZSAocGFnaW5hKSB0aXRlbCBrYW4gd29yZGVuIGluZ2V2b2VyZCI7czozMToiRG8gbm90IHNob3cgdGhlIHRvZGF5IGluZGljYXRvciI7czozNDoiVG9vbiBkZSBodWlkaWdlIGRhZyBpbmRpY2F0b3IgbmlldCI7czoyNDQ6IkRyYWcgYW5kIGRyb3AgZWFjaCBmaWVsZCB0eXBlIGluIHRoZSBwb3NpdGlvbiB5b3Ugd2FudCB0aGVtIGluLiBUaGUgb25lcyB0aGF0IGFyZSBjb2xvcmVkIHJlZCwgYXJlIGZpZWxkcyB0aGF0IGFyZSBzZWxlY3RlZCB1bmRlciB0aGUgJ0hpZGUgRmllbGQgVHlwZXMnLiBUaGlzIHdheSB5b3Uga25vdyB3aGljaCBvbmVzIGFyZSBoaWRkZW4gYW5kIHlvdSBjb3VsZCBkcmFnIHRoZW0gdG8gdGhlIGJvdHRvbSBvZiB0aGUgbGlzdC4iO3M6MjU1OiJTbGVlcCBlbGsgdmVsZCB0eXBlIG5hYXIgZGUgZ2V3ZW5zdGUgcG9zaXRpZS4gRGUgdmVsZCB0eXBlcyByb29kIGdla2xldXJkIHppam4gZGV6ZSBkaWUgemlqbiBnZXNlbGVjdGVlcmQgb25kZXIgJ1ZlcmJlcmcgdmVsZCB0eXBlcycuIFZpYSBkZXplIHdlZyBpcyBoZXQgbWFra2VsaWprIHRlIHppZW4gd2Vsa2UgdmVyYm9yZ2VuIHppam4gZW4ga3VubmVuIGRlemUgbmFhciBkZSBvbmRlcmthbnQgdmFuIGRlIGxpanN0IGdlc2xlZXB0IHdvcmRlbi4iO3M6MzA6IkVjaG8gdGhlIHNlbGVjdGVkIGtleSwgaS5lLiAlcyI7czozNToiRWNobyBkZSBnZXNlbGVjdGVlcmRlIGtleSwgYmlqdi4gJXMiO3M6MzI6IkVjaG8gdGhlIHNlbGVjdGVkIHZhbHVlLCBpLmUuICVzIjtzOjM4OiJFY2hvIGRlIGdlc2VsZWN0ZWVyZGUgd2FhcmRlLCBiaWp2LiAlcyI7czoxMzoiRW1haWwgc3ViamVjdCI7czoxNToiRW1haWwgb25kZXJ3ZXJwIjtzOjI4OiJFbmFibGUgcHJpdmFjeS1lbmhhbmNlZCBtb2RlIjtzOjM3OiJVaXRnZWJyZWlkZSBwcml2YWN5IG1vZHVzIGluc2NoYWtlbGVuIjtzOjM6IkVuZCI7czo1OiJFaW5kZSI7czo5MjoiRW50ZXIgeW91ciBzdGF0aWMgSFRNTCBoZXJlIChvciBhbnkgb3RoZXIgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzIHlvdSBwcmVmZXIsIGxpa2UgQ1NTL0pTL1BIUCkiO3M6ODc6IlZ1bCB1dyBzdGF0aXNjaGUgSFRNTCBoaWVyIGluIChvZiBlbGtlIGFuZGVyZSBwcm9ncmFtbWVlcnRhYWwgdSB3aWx0LCB6b2FscyBDU1MvSlMvUEhQKSI7czoxMDoiRXhwYW5kIEFsbCI7czoxNjoiQWxsZXMgdWl0a2xhcHBlbiI7czoxNDoiRmFsbGJhY2sgdmFsdWUiO3M6MTU6IlRlcnVndmFsIHdhYXJkZSI7czozNzoiRmllbGQgPHN0cm9uZz4lczwvc3Ryb25nPiBpcyByZXF1aXJlZCI7czozNzoiVmVsZCA8c3Ryb25nPiVzPC9zdHJvbmc+IGlzIHZlcnBsaWNodCI7czoyMzoiRmllbGQgVHlwZSBDdXN0b20gT3JkZXIiO3M6Mjk6IlZlbGQgdHlwZSBhYW5nZXBhc3RlIHZvbGdvcmRlIjtzOjI5OiJGaWVsZCBUeXBlIEhhbmRsZSAoYXNjZW5kaW5nKSI7czoyODoiVmVsZCB0eXBlIGhhbmR2YXQgKG9wbG9wZW5kKSI7czozMDoiRmllbGQgVHlwZSBIYW5kbGUgKGRlc2NlbmRpbmcpIjtzOjI4OiJWZWxkIHR5cGUgaGFuZHZhdCAoYWZsb3BlbmQpIjtzOjI3OiJGaWVsZCBUeXBlIE5hbWUgKGFzY2VuZGluZykiO3M6MjU6IlZlbGQgdHlwZSBuYWFtIChvcGxvcGVuZCkiO3M6Mjg6IkZpZWxkIFR5cGUgTmFtZSAoZGVzY2VuZGluZykiO3M6MjU6IlZlbGQgdHlwZSBuYWFtIChhZmxvcGVuZCkiO3M6MTg6IkZpZWxkIFR5cGUgU29ydGluZyI7czoxOToiVmVsZCB0eXBlIHNvcnRlcmluZyI7czo2OiJGaWVsZHMiO3M6NjoiVmVsZGVuIjtzOjY4OiJGb3IgYWR2YW5jZWQgdXNlcnMgb25seS4gRGVmYXVsdCB2YWx1ZXMgc2hvdWxkIGJlIE9LIGZvciBhbGwgdXNhZ2VzLiI7czo5MToiRW5rZWwgdm9vciBnZWF2YW5jZWVyZGUgZ2VicnVpa2Vycy4gU3RhbmRhYXJkIHdhYXJkZXMgbW9ldGVuIE9LIHppam4gdm9vciBhbGxlIHRvZXBhc3NpbmdlbiI7czoxNToiR2VuZXJhbCBPcHRpb25zIjtzOjE1OiJBbGdlbWVuZSBvcHRpZXMiO3M6NjoiSGFuZGxlIjtzOjc6IkhhbmR2YXQiO3M6NjoiSGVpZ2h0IjtzOjY6Ikhvb2d0ZSI7czozOiJIZXgiO3M6MzoiSGV4IjtzOjMwOiJIZXggKDMgQ2hhcmFjdGVycyBJZiBQb3NzaWJsZSkiO3M6MzM6IkhleCAoMyBrYXJha3RlcnMgaW5kaWVuIG1vZ2VsaWprKSI7czoxNjoiSGlkZSBGaWVsZCBUeXBlcyI7czoxODoiVmVyYmVyZyB2ZWxkIHR5cGVzIjtzOjE3OiJIaWRlIFlvdVR1YmUgbG9nbyI7czoyMDoiVmVyYmVyZyBZb3VUdWJlIGxvZ28iO3M6MjA6IkhpZGUgcGxheWVyIGNvbnRyb2xzIjtzOjMxOiJWZXJiZXJnIHZpZGVvc3BlbGVyIGJlZGllbmluZ2VuIjtzOjQ1OiJIaWRlIHN1Z2dlc3RlZCB2aWRlb3Mgd2hlbiB0aGUgdmlkZW8gZmluaXNoZXMiO3M6NjY6IlZlcmJlcmcgdm9vcmdlc3RlbGRlIHZpZGVvcyB3YW5uZWVyIGRlIHZpZGVvIGtsYWFyIGlzIG1ldCBhZnNwZWxlbiI7czoyMDoiSGlkZSB0aGUgZGF0ZSBwaWNrZXIiO3M6MjM6IlZlcmJlcmcgZGUgZGF0dW0ga2llemVyIjtzOjIzOiJIaWRlIHRoZSBtaW51dGVzIHBpY2tlciI7czoyNToiVmVyYmVyZyBkZSBtaW51dGVuIGtpZXplciI7czoyMzoiSGlkZSB0aGUgc2Vjb25kcyBwaWNrZXIiO3M6MjY6IlZlcmJlcmcgZGUgc2Vjb25kZW4ga2llemVyIjtzOjIwOiJIaWRlIHRoZSB0aW1lIHBpY2tlciI7czoyMjoiVmVyYmVyZyBkZSB0aWpkIGtpZXplciI7czoxNjoiSGlkZSB0aXRsZSBmaWVsZCI7czoxODoiVmVyYmVyZyB0aXRlbCB2ZWxkIjtzOjM1OiJIaWRlIHZpZGVvIHRpdGxlIGFuZCBwbGF5ZXIgYWN0aW9ucyI7czo0MToiVmVyYmVyZyB2aWRlbyB0aXRlbCBlbiB2aWRlb3NwZWxlciBhY3RpZXMiO3M6Mzc6IkhvdyBtYW55IGRlY2ltYWxzIHRoZSBudW1iZXIgbWF5IGhhdmUiO3M6NDE6IkhvZXZlZWwgZGVjaW1hbGVuIGhldCBudW1tZXIgbWFnIGJldmF0dGVuIjtzOjYyOiJIb3cgbWFueSBlbGVtZW50cyBhcmUgYWxsb3dlZCBpbiB0aGUgc2VsZWN0aW9uIHBhbGV0dGUgYXQgb25jZSI7czo3NDoiSG9ldmVlbCBlbGVtZW50ZW4gdGVnZWxpamsgZXIgemlqbiB0b2VnZXN0YWFuIGluIGRlIHNlbGVjdGllIHZhbiBoZXQgcGFsZXQiO3M6MzoiSHNsIjtzOjM6IkhzbCI7czoxOToiSHVtYW4tcmVhZGFibGUgbmFtZSI7czoxMzoiTGVlc2JhcmUgbmFhbSI7czo0OiJJY29uIjtzOjk6IlBpY3RvZ3JhbSI7czo3NzoiSWRlYWxseSBhIDUweDUwIHBpeGVscyBpbWFnZSB0byBiZSB1c2VkIHRvIGRpc3Rpbmd1aXNoIHRoaXMgYmxvY2sgZnJvbSBvdGhlcnMiO3M6OTI6IklkZWFsaXRlciBlZW4gNTB4NTAgcGl4ZWxzIGFmYmVlbGRpbmcsIGdlYnJ1aWt0IG9tIGRpdCBibG9rIHR5cGUgdGUgb25kZXJzY2hlaWRlbiB2YW4gYW5kZXJlIjtzOjk1OiJJZiBsZWZ0IGJsYW5rIGFuZCB0aGUgdXNlciBkb2VzIG5vdCBmaWxsIGluIGEgdGl0bGUsIHRoZSBuYW1lIG9mIHRoZSBmaWxlIHdpbGwgYmUgdXNlZCBhcyB0aXRsZSI7czoxMDk6IkluZGllbiBsZWVnIGdlbGF0ZW4gZW4gZGUgZ2VicnVpa2VyIHZ1bHQgZ2VlbiB0aXRlbCBpbiwgemFsIGRlIG5hYW0gdmFuIGhldCBiZXN0YW5kIGdlYnJ1aWt0IHdvcmRlbiBhbHMgdGl0ZWwiO3M6MTA0OiJJZiB0aGUgaGFuZGxlIGlzIGZvdW5kLCBpdCB3aWxsIHVzZSBpdHMgZGF0YSB0byBjcmVhdGUgdGhlIGltYWdlIHdpdGggdGhlIGdpdmVuIHdpZHRoL2hlaWdodCAoZ28gdG8gJXMpLiI7czoxMjg6IkFscyBoZXQgaGFuZHZhdCBpcyBnZXZvbmRlbiwgemFsIGhldCBkZXplIGRhdGEgZ2VicnVpa2VuIG9tIGRlIGFmYmVlbGRpbmdlbiB0ZSBtYWtlbiBtZXQgZGUgZ2VnZXZlbiBicmVlZHRlL2hvb2d0ZSAoZ2EgbmFhciAlcykuIjtzOjEzMToiSWYgdGhlcmUgYXJlIG5vIGJ1dHRvbnMsIHRoZSBiZWhhdmlvciB3aWxsIGJlIHRvIGZpcmUgdGhlIGBjaGFuZ2VgIGV2ZW50IChhbmQgdXBkYXRlIHRoZSBvcmlnaW5hbCBpbnB1dCkgd2hlbiB0aGUgcGlja2VyIGlzIGNsb3NlZC4iO3M6MTYyOiJJbmRpZW4gZXIgZ2VlbiBrb3BwZW4gemlqbiwgemFsIGhldCBnZWRyYWcgemlqbiBvbSBoZXQgYGNoYW5nZWAgZXZlbnQgdGUgYWN0aXZlcmVuIChlbiBoZXQgdXBkYXRlbiB2YW4gZGUgb3JpZ2luZWxlIGludm9lcikgd2FubmVlciBkZSBjb2xvcnBpY2tlciB3b3JkdCBnZXNsb3Rlbi4iO3M6NDI6Iklnbm9yZSBQYWdlIFRoZW1lIEdyaWQgRnJhbWV3b3JrIENvbnRhaW5lciI7czo0MjoiTmVnZWVyIFBhZ2UgVGhlbWUgR3JpZCBGcmFtZXdvcmsgQ29udGFpbmVyIjtzOjk6Ikluc3RhbGxlZCI7czoxNDoiR2XDr25zdGFsbGVlcmQiO3M6OToiSW50ZXJmYWNlIjtzOjk6IkludGVyZmFjZSI7czo0ODoiS2VlcCB0cmFjayBvZiB3aGF0IGhhcyBiZWVuIHNlbGVjdGVkIGJ5IHRoZSB1c2VyIjtzOjU0OiJIb3VkdCBiaWogdmFuIHdhdCBlciBpcyBnZXNlbGVjdGVlcmQgZG9vciBkZSBnZWJydWlrZXIiO3M6NToiTGFiZWwiO3M6NToiTGFiZWwiO3M6NDoiTGluayI7czo0OiJMaW5rIjtzOjI2OiJMaW5rIG9wZW5zIGluIGEgbmV3IHdpbmRvdyI7czozMToiTGluayBvcGVudCBpbiBlZW4gbmlldXcgdmVuc3RlciI7czo0OiJMb29wIjtzOjEzOiJMb29wL2hlcmhhbGVuIjtzOjg3OiJMb3dlcmNhc2UgYW5kIHVwcGVyY2FzZSBsZXR0ZXJzIG9ubHksIHdpdGggYSBtaW5pbXVtIG9mICVzIGFuZCBtYXhpbXVtIG9mICVzIGNoYXJhY3RlcnMiO3M6MTA1OiJFbmtlbCBrbGVpbmUgbGV0dGVycywgaG9vZmRsZXR0ZXJzIGVuIHVuZGVyc2NvcmVzLCBtZXQgZWVuIG1pbWludW0gdmFuICVzIGVuIGVlbiBtYXhpbXVtIHZhbiAlcyBrYXJha3RlcnMiO3M6MTExOiJMb3dlcmNhc2UgbGV0dGVycyBhbmQgdW5kZXJzY29yZXMgb25seSAod2l0aG91dCBzdGFydGluZy9lbmRpbmcgd2l0aCB1bmRlcnNjb3JlcykgYW5kIGEgbWluaW11bSBvZiAzIGNoYXJhY3RlcnMiO3M6MTExOiJFbmtlbCBrbGVpbmUgbGV0dGVycyBlbiB1bmRlcnNjb3JlcyAoem9uZGVyIGJlZ2lubmVuZC9laW5kaWdlbmQgbWV0IHVuZGVyc2NvcmVzKSBlbiBlZW4gbWluaW11bSB2YW4gMyBrYXJha3RlcnMiO3M6ODY6Ikxvd2VyY2FzZSBsZXR0ZXJzIGFuZCB1bmRlcnNjb3JlcyBvbmx5LiBDaG9vc2UgZnJvbSAlcyBvciBvbmUgb2YgeW91ciBvd24gc2V0IGhhbmRsZXMuIjtzOjk1OiJFbmtlbCBrbGVpbmUgbGV0dGVycyBlbiB1bmRlcnNjb3Jlcy4gS2llcyB1aXQgJXMgb2YgZWVuIHZhbiB1dyBlaWdlbiBibG9rIHR5cGUgZ3JvZXAgaGFuZHZhdGVuLiI7czoyOToiTWFrZSBhIHRodW1ibmFpbCBvZiB0aGUgaW1hZ2UiO3M6MzY6Ik1hYWsgZWVuIG1pbmlhdHV1ciB2YW4gZGUgYWZiZWVsZGluZyI7czoxNToiTWFrZSB0aGUgYmxvY2shIjtzOjE0OiJNYWFrIGhldCBibG9rISI7czoxODoiTWF4IFNlbGVjdGlvbiBTaXplIjtzOjI0OiJNYXhpbWFsZSBzZWxlY3RpZSBhYW50YWwiO3M6MTI6Ik1heGltdW0gZGF0ZSI7czoxMzoiTWF4aW11bSBkYXR1bSI7czoxNDoiTWF4aW11bSBudW1iZXIiO3M6MTQ6Ik1heGltYWFsIGdldGFsIjtzOjI4OiJNYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIjtzOjI1OiJNYXhpbWFhbCBhYW50YWwga2FyYWt0ZXJzIjtzOjE0OiJNYXhpbXVtIHN0YWNrcyI7czoxNToiTWF4aW11bSBzdGFwZWxzIjtzOjEyOiJNaW5pbXVtIGRhdGUiO3M6MTM6Ik1pbmltdW0gZGF0dW0iO3M6MTQ6Ik1pbmltdW0gbnVtYmVyIjtzOjE0OiJNaW5pbWFhbCBnZXRhbCI7czoxNDoiTWluaW11bSBzdGFja3MiO3M6MTU6Ik1pbmltdW0gc3RhcGVscyI7czoxNToiTWludXRlIHN0ZXBwaW5nIjtzOjE0OiJNaW51dXQgc3RhcHBlbiI7czoxMzoiTXkgQmxvY2sgTmFtZSI7czoxNDoiTWlqbiBibG9rIG5hYW0iO3M6NDoiTmFtZSI7czo0OiJOYWFtIjtzOjI0OiJOYW1lIChGYWxscyBiYWNrIHRvIGhleCkiO3M6MjY6Ik5hYW0gKHZhbHQgdGVydWcgbmFhciBoZXgpIjtzOjU6Ik5hbWVkIjtzOjc6IkJlbm9lbWQiO3M6MjI6Ik5ldyBsaW5lIHRvIGJsYW5rIHJ1bGUiO3M6MzQ6Ik5pZXV3ZSByZWdlbCBuYWFyIHdpdHJlZ2VsIChubDJicikiO3M6MjoiTm8iO3M6MzoiTmVlIjtzOjQ4OiJObyAlcyBmb3IgdGhlIGltYWdlIG9uIHJvdyAjJXMgaGFzIGJlZW4gZW50ZXJlZC4iO3M6NTE6IkdlZW4gJXMgdm9vciBkZSBhZmJlZWxkaW5nIG9wIHJpaiAjJXMgaXMgaW5nZXZvZXJkLiI7czoxNzoiTm8gQ29sb3IgU2VsZWN0ZWQiO3M6MjM6IkdlZW4ga2xldXIgZ2VzZWxlY3RlZXJkIjtzOjQzOiJObyBzZWxlY3QgY2hvaWNlcyB3ZXJlIGVudGVyZWQgZm9yIHJvdyAjJXMuIjtzOjQ4OiJHZWVuIHNlbGVjdCBrZXV6ZXMgemlqbiBpbmdldm9lcmQgdm9vciByaWogIyUgcy4iO3M6NDoiTm9uZSI7czo0OiJHZWVuIjtzOjIzOiJOb25lIChEZXBlbmRzIG9uIGlucHV0KSI7czozNjoiR2VlbiAoaGFuZ3QgYWYgdmFuIGluZ2V2dWxkZSB3YWFyZGUpIjtzOjEzOiJOb3QgSW5zdGFsbGVkIjtzOjE5OiJOaWV0IGdlw69uc3RhbGxlZXJkIjtzOjY6Ik51bWJlciI7czo2OiJOdW1tZXIiO3M6MTM6Ik51bWJlciBmb3JtYXQiO3M6MTI6IkdldGFsbm90YXRpZSI7czo1MzoiT25lIG9yIG11bHRpcGxlIGZpZWxkcyBhcmUgcmVxdWlyZWQgdG8gYnVpbGQgYSBibG9jay4iO3M6NjU6IkVlbiBvZiBtZWVyZGVyZSB2ZWxkZW4gemlqbiB2ZXJwbGljaHQgb20gZWVuIGJsb2sgdHlwZSB0ZSBib3V3ZW4uIjtzOjQyOiJPbmx5IG91dHB1dCB0aGUgc291cmNlIChwYXRoKSBvZiB0aGUgaW1hZ2UiO3M6NDQ6IkFsbGVlbiBkZSBicm9uIChwYWQpIHZhbiBkZSBhZmJlZWxkaW5nIHRvbmVuIjtzOjE1NjoiT3JkZXIgeW91ciBibG9ja3MgZm9yIGVhY2ggYmxvY2sgdHlwZSBzZXQuIFRoZSBvcmRlciBpbiB3aGljaCB5b3UgYXJyYW5nZSBibG9ja3MgaXMgaW4gd2hpY2ggb3JkZXIgdGhleSB3aWxsIHNob3cgdXAgd2hpbGUgZHJhZ2dpbmcgYmxvY2tzIG9uIHRoZSBmcm9udCBlbmQuIjtzOjE4MzoiT3JkZW4gdXcgYmxvayB0eXBlcyB2b29yIGVsayBibG9rIHR5cGUgZ3JvZXAuIERlIHZvbGdvcmRlIHdhYXJpbiB1IGRlIGJsb2sgdHlwZXMgcGxhYXRzdCwgaXMgZGUgdm9sZ29yZGUgZGllIGdldG9vbmQgd29yZCB3YW5uZWVyIHUgYmxvayB0eXBlcyB0b2V2b2VndCBhYW4gZGUgdm9vcmthbnQgdmFuIGRlIHdlYnNpdGUuIjtzOjU6Ik90aGVyIjtzOjY6IkFuZGVycyI7czo0OiJQYWdlIjtzOjY6IlBhZ2luYSI7czoxNToiUGFsZXR0ZSBPcHRpb25zIjtzOjEyOiJQYWxldCBvcHRpZXMiO3M6MTI6IlBhbGV0dGUgUm93cyI7czoxMToiUGFsZXQgcmlqZW4iO3M6MTE6IlBsYWNlaG9sZGVyIjtzOjExOiJQbGFjZWhvbGRlciI7czozNzoiUG9zaXRpb25lZCBhcyBhbiBpbmxpbmUtYmxvY2sgZWxlbWVudCI7czo0NToiR2Vwb3NpdGlvbmVlcmQgYWxzIGVlbiAnaW5saW5lLWJsb2NrJyBlbGVtZW50IjtzOjExNDoiUG9zaXRpb25lZCBiZWxvdyB0aGUgY29sb3JwaWNrZXIgdG8gbWFrZSBpdCBjb252ZW5pZW50IGZvciB1c2VycyB0byBjaG9vc2UgZnJvbSBmcmVxdWVudGx5IG9yIHJlY2VudGx5IHVzZWQgY29sb3JzIjtzOjEyNToiR2Vwb3NpdGlvbmVlcmQgb25kZXIgZGUgY29sb3JwaWNrZXIsIG9tIGhldCBoYW5kaWcgdGUgbWFrZW4gdm9vciBnZWJydWlrZXJzIG9tIHRlIGtpZXplbiB1aXQgdmFhayBvZiByZWNlbnQgZ2VicnVpa3RlIGtsZXVyZW4iO3M6MTY6IlByZWZlcnJlZCBGb3JtYXQiO3M6MTU6Ikdld2Vuc3RlIGZvcm1hdCI7czo0NjoiUHJldmVudHMgdGhlIGZ1bGxzY3JlZW4gYnV0dG9uIGZyb20gZGlzcGxheWluZyI7czo0OToiVm9vcmtvbXQgZGF0IGRlIHZvbGxlZGlnIHNjaGVybS1rbm9wIHppY2h0YmFhciBpcyI7czoyMToiUmVxdWlyZWQgdGl0bGUgZmllbGQ/IjtzOjIxOiJWZXJwbGljaHQgdGl0ZWwgdmVsZD8iO3M6OToiUmVxdWlyZWQ/IjtzOjEwOiJWZXJwbGljaHQ/IjtzOjE2OiJSZXNwb25zaXZlIGltYWdlIjtzOjIxOiJSZXNwb25zaXZlIGFmYmVlbGRpbmciO3M6Njk6IlJldHVybnMgZW50ZXJlZCBzdHJpbmcgd2l0aCAnJXMnIG9yICclcycgaW5zZXJ0ZWQgYmVmb3JlIGFsbCBuZXdsaW5lcyI7czo4MDoiWmFsIGluZ2V2b2VyZGUgc3RyaW5nIG1ldCAnJXMnIG9mICclcycgdm9vcnppZW4sIHZvb3IgYWxsZSBuaWV1dyBiZWdvbm5lbiByZWdlbHMiO3M6MzoiUmdiIjtzOjM6IlJnYiI7czo0OiJSZ2JhIjtzOjQ6IlJnYmEiO3M6MzoiUm93IjtzOjM6IlJpaiI7czo0OiJTYXZlIjtzOjc6Ik9wc2xhYW4iO3M6NDc6IlNhdmUgc2VsZWN0aW9uIGluIGJyb3dzZXIncyBsb2NhbFN0b3JhZ2Ugb2JqZWN0IjtzOjU2OiJTbGEgc2VsZWN0aWUgaW4gZGUgYnJvd3NlciB6aWpuICdsb2NhbFN0b3JhZ2Ugb2JqZWN0JyBvcCI7czoxMzoiU2Nyb2xsIFRvIFRvcCI7czoxNzoiU2Nyb2xsIG5hYXIgYm92ZW4iO3M6Mjk6IlNlbGVjdCBjaG9pY2VzIChvbmUgcGVyIGxpbmUpIjtzOjI5OiJTZWxlY3Qga2V1emVzIChlZW4gcGVyIHJlZ2VsKSI7czo5ODoiU2V0IHlvdXIgb3duIGFycmF5IGtleSBmb3IgdmFsdWVzLCBieSB1c2luZyAyIGNvbG9ucyAoJyA6OiAnKSBvbiBlYWNoIGxpbmUgLSBleHRyYSBzcGFjZXMgcmVxdWlyZWQiO3M6MTIyOiJaZXQgdXcgZWlnZW4gYXJyYXkga2V5IHZvb3Igd2FhcmRlcywgZG9vciAyIG1hYWwgZHViYmVsZSBwdW50ICgnIDo6ICcpIG9wIGVsa2UgcmVnZWwgdGUgcGxhYXRzZW4gLSBleHRyYSBzcGF0aWVzIHZlcnBsaWNodCI7czozNDoiU2V0cyB0aGUgbnVtYmVyIG9mIGRlY2ltYWwgcG9pbnRzLiI7czoyNToiWmV0IGhldCBhYW50YWwgZGVjaW1hbGVuLiI7czo0MToiU2V0cyB0aGUgc2VwYXJhdG9yIGZvciB0aGUgZGVjaW1hbCBwb2ludC4iO3M6NDc6IlpldCBoZXQgc2NoZWRpbmdzdGVrZW4gdm9vciBoZXQgZGVjaW1hYWwgZ2V0YWwuIjtzOjI5OiJTZXRzIHRoZSB0aG91c2FuZHMgc2VwYXJhdG9yLiI7czo0MzoiWmV0IGhldCB0ZWtlbiBvbSBkdWl6ZW5kdGFsbGVuIHRlIHNjaGVpZGVuLiI7czoxNToiU2V0dGluZ3Mgc2F2ZWQuIjtzOjI0OiJJbnN0ZWxsaW5nZW4gb3BnZXNsYWdlbi4iO3M6NTk6IlNob3cgYSBidXR0b24gdG8gdG9nZ2xlIHRoZSBjb2xvcnBpY2tlciBuZXh0IHRvIHRoZSBwYWxldHRlIjtzOjU2OiJUb29uIGVlbiBrbm9wIG9tIGRlIGNvbG9ycGlja2VyIG5hYXN0IGhldCBwYWxldCB0ZSB0b25lbiI7czoxNDoiU2hvdyBhIHBhbGV0dGUiO3M6MTQ6IlRvb24gZWVuIHBhbGV0IjtzOjEyOiJTaG93IGJ1dHRvbnMiO3M6MTI6IlRvb24ga25vcHBlbiI7czo3MzoiU2hvdyBjbG9zZWQgY2FwdGlvbnMgYnkgZGVmYXVsdCwgZXZlbiBpZiB0aGUgdXNlciBoYXMgdHVybmVkIGNhcHRpb25zIG9mZiI7czo5MzoiVG9vbiBnZXNsb3RlbiBiaWpzY2hyaWZ0ZW4gc3RhbmRhYXJkLCB6ZWxmcyBhbHMgZGUgZ2VicnVpa2VyIGJpanNjaHJpZnRlbiBoZWVmdCB1aXRnZXNjaGFrZWxkIjtzOjEwOiJTaG93IGlucHV0IjtzOjE1OiJUb29uIGludm9lcnZlbGQiO3M6NTA6IlNob3cgdGhlIGNvbG9yIHRoYXQgd2FzIGluaXRpYWxseSBzZXQgd2hlbiBvcGVuaW5nIjtzOjUxOiJUb29uIGRlIGtsZXVyIGRpZSBpbml0aWVlbCB3YXMgZ2V6ZXQgYmlqIGhldCBvcGVuZW4iO3M6NDI6IlNob3cgdGhlIGRhdGUgYW5kIHRpbWUgcGlja2VyIHNpZGUgYnkgc2lkZSI7czo0MToiVG9vbiBkZSBkYXR1bSAtZW4gdGlqZCBraWV6ZXIgemlqIGFhbiB6aWoiO3M6NDc6IlNob3cgdGhlIHBhbGV0dGVzIHlvdSBzcGVjaWZ5LCBhbmQgbm90aGluZyBlbHNlIjtzOjU1OiJUb29uIGRlIHBhbGV0dGVuIGRpZSB1IGhlZWZ0IG9wZ2VnZXZlbiwgZW4gbmlldHMgYW5kZXJzIjtzOjE2OiJTaG93IHRpdGxlIGZpZWxkIjtzOjE1OiJUb29uIHRpdGVsIHZlbGQiO3M6Nzg6IlNraXAgY29udmVydGluZyBzcGVjaWFsIGNoYXJhY3RlcnMgdG8gSFRNTCBlbnRpdGllcyAoY29uY3JldGU1J3MgJ2gnIGZ1bmN0aW9uKSI7czo5ODoiU2xhIGhldCBjb252ZXJ0ZXJlbiB2YW4gc3BlY2lhbGUga2FyYWt0ZXJzIG5hYXIgSFRNTC1lbnRpdGVpdGVuIG92ZXIgKGNvbmNyZXRlNSB6aWpuICdoJyBmdW5jdGllKSAiO3M6NDoiU2x1ZyI7czo0OiJTbHVnIjtzOjU6IlN0YXJ0IjtzOjU6IlN0YXJ0IjtzOjExOiJTdGF0aWMgSFRNTCI7czoxNDoiU3RhdGlzY2hlIEhUTUwiO3M6MTI6IlRhYmxlIHByZWZpeCI7czoxNzoiVGFiZWwgdm9vcnZvZWdzZWwiO3M6MTY6IlRlc3QgdGhlIGV4YW1wbGUiO3M6MTg6IlRlc3QgaGV0IHZvb3JiZWVsZCI7czo4OiJUZXh0IEJveCI7czo4OiJUZWtzdHZhayI7czo4ODoiVGhlICVzIGZvciB0aGUgaW1hZ2Ugb24gcm93ICMlcyBoYXMgdG8gYmUgYSBudW1lcmljIHZhbHVlIChmbG9hdGluZyBudW1iZXJzIGRpc2FsbG93ZWQpLiI7czoxMDM6IkRlICVzIHZvb3IgZGUgYWZiZWVsZGluZyBvcCByaWogIyVzIG1vZXQgZWVuIG51bWVyaWVrZSB3YWFyZGUgemlqbiAoZGVjaW1hbGUgZ2V0YWxsZW4gbmlldCB0b2VnZXN0YWFuKS4iO3M6NTY6IlRoZSAlcyBmb3IgdGhlIGltYWdlIG9uIHJvdyAjJXMgaGFzIHRvIGJlIGhpZ2hlciB0aGFuIDAuIjtzOjU5OiJEZSAlcyB2b29yIGRlIGFmYmVlbGRpbmcgb3AgcmlqICMlcyBtb2V0IGdyb3RlciB6aWpuIGRhbiAwLiI7czozODoiVGhlIGJsb2NrIHR5cGUgZG9lcyBub3Qgc2VlbSB0byBleGlzdC4iO3M6MzY6IkhldCBibG9rIHR5cGUgbGlqa3QgbmlldCB0ZSBiZXN0YWFuLiI7czo2MToiVGhlIGJsb2NrIHR5cGUgZG9lcyBub3Qgc2VlbSB0byBoYXZlIGFuIGV4aXN0aW5nIGNvbmZpZyBmaWxlLiI7czo2NToiSGV0IGJsb2sgdHlwZSBsaWprdCBnZWVuIGJlc3RhYW5kIGNvbmZpZ3VyYXRpZSBiZXN0YW5kIHRlIGhlYmJlbi4iO3M6NTI6IlRoZSBkYXRlIGZvcm1hdCBmaWVsZCBmb3IgJyVzJyAocm93ICMlcykgaXMgcmVxdWlyZWQiO3M6NTQ6IkhldCBkYXR1bW5vdGF0aWUgdmVsZCB2b29yICclcycgKHJvdyAjJXMpIGlzIHZlcnBsaWNodCI7czo5NToiVGhlIGVtYWlsIHN1YmplY3Qgd2hlbiBzZW5kaW5nIHRoZSBlbWFpbCAoc29tZSBhcHBsaWNhdGlvbnMvZW1haWwgY2xpZW50cyBtYXkgbm90IHN1cHBvcnQgdGhpcykiO3M6MTE5OiJIZXQgZW1haWwgb25kZXJ3ZXJwIHdhbm5lZXIgZGUgZW1haWwgdmVyc3R1dXJkIHdvcmR0IChzb21taWdlIHRvZXBhc3Npbmdlbi9lLW1haWwgY2xpZW50cyB6dWxsZW4gZGl0IG5pZXQgb25kZXJzdGV1bmVuKSI7czoxNjE6IlRoZSBlbnRlcmVkIGRlc2NyaXB0aW9uIHdpbGwgYmUgc2hvd24gd2l0aCB0aGUgdmVyeSBzYW1lIHF1ZXN0aW9uIG1hcmssIG5leHQgdG8gdGhlIGVudGVyZWQgbGFiZWwuIFVzZXJzIGhhdmUgdG8gaG92ZXIgdGhlIHF1ZXN0aW9uIG1hcmsgdG8gc2hvdyB0aGUgZGVzY3JpcHRpb24uIjtzOjE4OToiRGUgaW5nZXZ1bGRlIG9tc2NocmlqdmluZyB6YWwgd29yZGVuIGdldG9vbmQgbWV0IGV4YWN0IGhldHplbGZkZSB2cmFhZ3Rla2VuLCBuYWFzdCBoZXQgaW5nZXZ1bGRlIGxhYmVsLiBHZWJydWlrZXJzIG1vZXRlbiBvdmVyIGhldCB2cmFhZ3Rla2VuIGJld2VnZW4gbWV0IGRlIG11aXMgb20gZGUgb21zY2hyaWp2aW5nIHRlIHppZW4uIjtzOjMyOiJUaGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIG51bWJlciI7czozMToiRGUgbWF4aW11bSBsZW5ndGUgdmFuIGhldCBnZXRhbCI7czoyMjoiVGhlIHZpZGVvIHByb2dyZXNzIGJhciI7czoyMzoiRGUgdmlkZW8gdm9vcnRnYW5nc2JhbGsiO3M6NToiVGhlbWUiO3M6NToiVGhlbWEiO3M6Njc6IlRoZXJlIGFyZSBjdXJyZW50bHkgbm8gYmxvY2tzIGF2YWlsYWJsZSB3aXRoIGxvYWRhYmxlIGNvbmZpZyBmaWxlcy4iO3M6ODQ6IkVyIHppam4gbW9tZW50ZWVsIGdlZW4gYmxvayB0eXBlcyBiZXNjaGlrYmFhciBtZXQgaW4gdGUgbGFkZW4gY29uZmlndXJhdGllIGJlc3RhbmRlbiI7czoxMDQ6IlRoZXJlIGFyZSBubyBmaWVsZCB0eXBlcyAoeWV0KS4gUGxlYXNlIHVwZGF0ZSB5b3VyIHBhY2thZ2Ugb3IgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj5nZXQgaGVscDwvYT4uIjtzOjEwNzoiRXIgemlqbiAobm9nKSBnZWVuIHZlbGQgdHlwZXMuIFVwZGF0ZSB1dyBleHRlbnNpZSBhLnUuYi4gb2YgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj52ZXJrcmlqZyBodWxwPC9hPi4iO3M6ODk6IlRoZXJlIGFyZSBubyBmaWVsZHMgYWRkZWQgeWV0LiBTdGFydCBhZGRpbmcgb25lIGJ5IGNsaWNraW5nIG9uZSBvZiB0aGUgZmllbGQgdHlwZXMgYmVsb3cuIjtzOjExNDoiRXIgemlqbiBub2cgZ2VlbiB2ZWxkZW4gdG9lZ2V2b2VnZC4gQmVnaW4gbWV0IGhldCB0b2V2b2VnZW4gZG9vciB0ZSBrbGlra2VuIG9wIGVlbiB2YW4gZGUgdmVsZCB0eXBlcyBoaWVyIGJlbmVkZW4uIjtzOjYxOiJUaGVyZSB3YXMgbm8gYmxvY2sgaGFuZGxlIGZvdW5kLiBQbGVhc2UgZW50ZXIgYSBibG9jayBoYW5kbGUuIjtzOjc3OiJFciB3ZXJkIGdlZW4gYmxvayB0eXBlIGhhbmR2YXQgZ2V2b25kZW4uIFZ1bCBhLnUuYi4gZWVuIGJsb2sgdHlwZSBoYW5kdmF0IGluLiI7czo1NDoiVGhlcmUgd2FzIG5vIHNsdWcgZm91bmQgZm9yIHJvdyAjJXMuIFBsZWFzZSB0cnkgYWdhaW4uIjtzOjY4OiJFciB3ZXJkIGdlZW4gc2x1ZyBnZXZvbmRlbiB2b29yIHJpaiAjJXMuIFByb2JlZXIgaGV0IGEudS5iLiBvcG5pZXV3LiI7czo2NToiVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBlbnRlciBIVE1MIGNoYXJhY3RlcnMgaW4geW91ciB0ZXh0IGFyZWEiO3M6NzI6IkRpdCBtYWFrdCBoZXQgbW9nZWxpamsgb20gSFRNTCBrYXJha3RlcnMgaW4gamUgdGVrc3RnZWJpZWQgdGUgZ2VicnVpa2VuICI7czo2NDoiVGhpcyBuYW1lIHdpbGwgYmUgdXNlZCBpbiB0aGUgdmlldyBmaWxlIChhLXpBLVogY2hhcmFjdGVycyBvbmx5KSI7czo2OToiRGV6ZSBuYWFtIHdvcmR0IGdlYnJ1aWt0IGluIGhldCB2aWV3IGJlc3RhbmQgKGVua2VsIGEtekEtWiBrYXJha3RlcnMpIjtzOjExODoiVGhpcyBwYXJhbWV0ZXIgY2F1c2VzIHRoZSBwbGF5ZXIgdG8gYmVnaW4gcGxheWluZyB0aGUgdmlkZW8gYXQgdGhlIGdpdmVuIG51bWJlciBvZiBzZWNvbmRzIGZyb20gdGhlIHN0YXJ0IG9mIHRoZSB2aWRlbyI7czoxMjk6IkRlemUgcGFyYW1ldGVyIHpvcmd0IGVydm9vciBkYXQgZGUgdmlkZW9zcGVsZXIgZGUgdmlkZW8gZ2FhdCBhZnNwZWxlbiBvcCBoZXQgZ2VnZXZlbiBhYW50YWwgc2Vjb25kZW4gdmFuYWYgaGV0IGJlZ2luIHZhbiBkZSB2aWRlbyI7czoxMTk6IlRoaXMgc3BlY2lmaWVzIHRoZSB0aW1lLCBtZWFzdXJlZCBpbiBzZWNvbmRzIGZyb20gdGhlIHN0YXJ0IG9mIHRoZSB2aWRlbywgd2hlbiB0aGUgcGxheWVyIHNob3VsZCBzdG9wIHBsYXlpbmcgdGhlIHZpZGVvIjtzOjEzNDoiRGl0IHNwZWNpZmljZWVydCBkZSB0aWpkLCBnZW1ldGVuIGluIHNlY29uZGUgdmFuYWYgZGUgc3RhcnQgdmFuIGRlIHZpZGVvLCB3YW5uZWVyIGRlIHBsYXllciBtb2V0IHN0b3BwZW4gbWV0IGhldCBhZnNwZWxlbiB2YW4gZGUgdmlkZW8iO3M6MTI4OiJUaGlzIHdpbGwgb25seSBoaWRlIHRoZW0gZnJvbSB0aGUgJ0FkZCBhIGZpZWxkJyBsaXN0LCB5b3Ugd2lsbCBzdGlsbCBiZSBhYmxlIHRvIGxvYWQgY29uZmlndXJhdGlvbnMgd2l0aCB0aGUgaGlkZGVuIGZpZWxkIHR5cGVzLiI7czoxNDQ6IkRpdCB6YWwgemUgYWxsZWVuIHZlcmJlcmdlbiB2YW4gZGUgJ0VlbiB2ZWxkIHRvZXZvZWdlbicgbGlqc3QsIGhldCBpcyBub2cgc3RlZWRzIG1vZ2VsaWprIG9tIGNvbmZpZ3VyYXRpZXMgdGUgbGFkZW4gbWV0IGRlIHZlcmJvcmdlbiB2ZWxkIHR5cGVzLiI7czoxOToiVGhvdXNhbmRzIHNlcGFyYXRvciI7czoxNjoiRHVpemVuZHRhbCB0ZWtlbiI7czoxNjoiVGh1bWJuYWlsIGhhbmRsZSI7czoxNzoiVGh1bWJuYWlsIGhhbmR2YXQiO3M6MTA6IlRodW1ibmFpbHMiO3M6MTA6IlRodW1ibmFpbHMiO3M6MjA6IlRpdGxlIGZhbGxiYWNrIHZhbHVlIjtzOjIxOiJUaXRlbCB0ZXJ1Z3ZhbCB3YWFyZGUiO3M6MTc6IlRpdGxlIHBsYWNlaG9sZGVyIjtzOjE3OiJUaXRlbCBwbGFjZWhvbGRlciI7czoxMjA6IlRvIGNoYW5nZSB0aGUgb3JkZXIgb2YgQmxvY2sgVHlwZSBTZXRzLCBzdGFydCBieSBkcmFnZ2luZyB0aGUgbmFtZSBvZiB0aGUgQmxvY2sgVHlwZSBTZXQgdG8gdGhlIHBvc2l0aW9uIHlvdSB3b3VsZCBsaWtlLiI7czoxMjY6Ik9tIGRlIHZvbGdvcmRlIHZhbiBibG9rIHR5cGUgZ3JvZXBlbiB0ZSB3aWp6aWdlbiwgYmVnaW4gbWV0IGhldCBzbGVwZW4gdmFuIGRlIG5hYW0gdmFuIGhldCBibG9rIHR5cGUgbmFhciBkZSBnZXdlbnN0ZSBwb3NpdGllLiI7czoyNjoiVG9nZ2xlIFBhbGV0dGUgJ2xlc3MnIHRleHQiO3M6MjA6IlBhbGV0ICdtaW5kZXInIHRla3N0IjtzOjI2OiJUb2dnbGUgUGFsZXR0ZSAnbW9yZScgdGV4dCI7czoxODoiUGFsZXQgJ21lZXInIHRla3N0IjtzOjQ6IlR5cGUiO3M6NDoiVHlwZSI7czozOiJVUkwiO3M6MzoiVVJMIjtzOjM0OiJVc2UgJ3N0cmljdCcgd2hlbiB2YWxpZGF0aW5nIGRhdGVzIjtzOjQzOiJHZWJydWlrICdzdHJpY3QnIGJpaiBoZXQgdmFsaWRlcmVuIHZhbiBkYXRhIjtzOjM2OiJVc2UgYSBkb3QgKC4pIGFzIGEgZGVjaW1hbCBzZXBhcmF0b3IiO3M6NDU6IkdlYnJ1aWsgZWVuIHB1bnQgKC4pIG9tIGRlY2ltYWxlbiB0ZSBzY2hlaWRlbiI7czo2NjoiVXNlIGNvbmNyZXRlNSdzIHRyYW5zbGF0ZSBmdW5jdGlvbiBmb3IgYWxsIHNlbGVjdCBjaG9pY2VzICh2YWx1ZXMpIjtzOjY5OiJHZWJydWlrIGNvbmNyZXRlNSdzIHZlcnRhYWwgZnVuY3RpZSB2b29yIGFsbGUgc2VsZWN0IGtldXplcyAod2FhcmRlcykiO3M6NDg6IlVzZSBkb3dubG9hZCBsaW5rLCBpbnN0ZWFkIG9mIHJlbGF0aXZlIHBhdGggbGluayI7czo1NDoiR2VicnVpayBkb3dubG9hZCBsaW5rLCBpbiBwbGFhdHMgdmFuIHJlbGF0aWVmIHBhZCBsaW5rIjtzOjQ5OiJVc2VzIENvbmNyZXRlNSBpbWFnZSBoZWxwZXIsIHRvIG91dHB1dCB0aGUgaW1hZ2UuIjtzOjY1OiJHZWJydWlrIGRlIGNvbmNyZXRlNSBhZmJlZWxkaW5nLWhlbHBlciwgb20gZGUgYWZiZWVsZGluZyB0ZSB0b25lbiI7czozODoiVXNlcyBhbiBpbnB1dCBib3ggd2l0aCB0aGUgY29sb3IgdmFsdWUiO3M6NDE6IkdlYnJ1aWsgZWVuIGludm9lcnZlbGQgbWV0IGRlIGtsZXVyd2FhcmRlIjtzOjU6IlZhbHVlIjtzOjY6IldhYXJkZSI7czo0NjoiVmFsdWUgY2FuIGJlIGNsZWFyZWQgYnkgY2xpY2tpbmcgYSAnJXMnIGJ1dHRvbiI7czo1MzoiV2FhcmRlIGthbiB3b3JkZW4gZ2V3aXN0IGRvb3IgdGUga2xpa2tlbiBvcCAnJXMnIGtub3AiO3M6NjA6IlZhbHVlIHdpdGhvdXQgYSBrZXksIHRoaXMgd2lsbCBiZSBhc3NpZ25lZCBieSB0aGUgZmllbGQgdHlwZSI7czo2ODoiV2FhcmRlIHpvbmRlciBrZXksIGRlemUgemFsIHdvcmRlbiB0b2VnZWtlbmQgZG9vciBoZXQgdmVsZCB0eXBlIHplbGYiO3M6NzoiVmVyc2lvbiI7czo2OiJWZXJzaWUiO3M6NDQ6IlZpZGVvIGFubm90YXRpb25zIHRvIGJlIG5vdCBzaG93biBieSBkZWZhdWx0IjtzOjM2OiJWaWRlb2Fubm90YXRpZXMgbmlldCBzdGFuZGFhcmQgdG9uZW4iO3M6MTA6IlZpZGVvIHNpemUiO3M6MTk6IlZpZGVvc3BlbGVyIGdyb290dGUiO3M6ODoiVmlldyBDU1MiO3M6ODoiVmlldyBDU1MiO3M6MTU6IlZpZXcgSmF2YVNjcmlwdCI7czoxNToiVmlldyBKYXZhU2NyaXB0IjtzOjM2OiJWaWV3IGRhdGV0aW1lcGlja2VyIG9wdGlvbnMvZGVmYXVsdHMiO3M6NDY6IkJla2lqayBkYXRldGltZXBpY2tlciBvcHRpZXMvc3RhbmRhYXJkIHdhYXJkZXMiO3M6MTE6IlZpZXcgb3V0cHV0IjtzOjExOiJWaWV3IG91dHB1dCI7czo3OiJXWVNJV1lHIjtzOjc6IldZU0lXWUciO3M6MTIyOiJXaGVuIGNsaWNraW5nIG91dHNpZGUgb2YgdGhlIGNvbG9ycGlja2VyLCB5b3UgY2FuIGZvcmNlIGl0IHRvIGZpcmUgYSBjaGFuZ2UgZXZlbnQgcmF0aGVyIHRoYW4gaGF2aW5nIGl0IHJldmVydCB0aGUgY2hhbmdlLiI7czoxNDg6Ildhbm5lZXIgYnVpdGVuIGRlIGNvbG9ycGlja2VyIHdvcmR0IGdlbGlrdCwga3VudCB1IGhldCBmb3JjZXJlbiBvbSBlZW4gYGNoYW5nZWAgZXZlbnQgdGUgYWN0aWV2ZXJlbiwgaW4gcGxhYXRzIHZhbiBoZXQgdGVydWd6ZXR0ZW4gdmFuIGRlIHdpanppZ2luZy4iO3M6NToiV2lkdGgiO3M6NzoiQnJlZWR0ZSI7czoxMzM6IldpZHRoIGFuZCBoZWlnaHQgYXJlIHJlcXVpcmVkIHVwb24gbWFraW5nIHRoZSBpbWFnZSBhIHRodW1ibmFpbC4gQm90aCB2YWx1ZXMgYXJlIGJlaW5nIGVudGVyZWQgaW4gd2hvbGUgcGl4ZWxzIChubyBkZWNpbWFscyBhbGxvd2VkKS4iO3M6MTY3OiJCcmVlZHRlIGVuIGhvb2d0ZSB6aWpuIHZlcnBsaWNodCBiaWogaGV0IG1ha2VuIHZhbiBlZW4gbWluaWF0dXVyIHZhbiBkZSBhZmJlZWxkaW5nLiBCZWlkZSB3YWFyZGVzIHp1bGxlbiB3b3JkZW4gaW5nZXZ1bGQgbWV0IGdlaGVsZSBwaXhlbHMgKGdlZW4gZGVjaW1hbGVuIHRvZWdlc3RhYW4pLiI7czoxODoiV3JhcHBlciBIVE1MIGNsb3NlIjtzOjIwOiJXcmFwcGVyIEhUTUwgc2x1aXRlbiI7czoxNzoiV3JhcHBlciBIVE1MIG9wZW4iO3M6MTk6IldyYXBwZXIgSFRNTCBvcGVuZW4iO3M6MzoiWWVzIjtzOjI6IkphIjtzOjEwMToiWW91IGNhbiBlbnRlciBIZXgsIEhzbCwgUmdiLCBSZ2JhICh3aXRoIGFscGhhKSBvciBOYW1lZCBjb2xvciB2YWx1ZXMuIFNlZSB0aGUgbGlzdCBiZWxvdyBmb3IgZXhhbXBsZXMiO3M6MTE5OiJVIGt1bnQgSGV4LCBIc2wsIFJnYiwgUmdiYSAobWV0IGFscGhhKSBvZiBiZW5vZW1kZSBrbGV1cndhYXJkZXMgaW52dWxsZW4uIEJla2lqayBkZSBsaWpzdCBoaWVyb25kZXIgdm9vciBkZSB2b29yYmVlbGRlbiI7czo4OToiWW91IGNhbiBub3QgZW50ZXIgZmxvYXRpbmcgbnVtYmVycyBvbiB0aGUgZmllbGRzIGFib3ZlLCBhcyB0aGUgYm94ICclcycgaGFzIGJlZW4gY2hlY2tlZC4iO3M6OTc6IlUga3VudCBnZWVuIGRlY2ltYWxlIGdldGFsbGVuIGluIGRlIHZlbGRlbiBoaWVyYm92ZW4gaW52dWxsZW4sIG9tZGF0IGhldCB2ZWxkICclcycgaXMgYWFuZ2V2aW5rdC4iO3M6Njg6IllvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGluc3RhbGwgY3VzdG9tIGJsb2NrIHR5cGVzIG9yIGFkZC1vbnMuIjtzOjc3OiJVIGhlZWZ0IGdlZW4gdG9lc3RlbW1pbmcgb20gYWFuZ2VwYXN0ZSBibG9rIHR5cGVzIG9mIGV4dGVuc2llcyB0ZSBpbnN0YWxsZXJlbiI7czo3OiJZb3VUdWJlIjtzOjc6IllvdVR1YmUiO3M6MzE6ImEteiwgZGFzaGVzIGFuZCB1bmRlcnNjb3JlIG9ubHkiO3M6MzQ6IkVua2VsIGEteiwgc3RyZWVwamVzIGVuIHVuZGVyc2NvcmUiO3M6NDoiaS5lLiI7czo1OiJiaWp2LiI7czo3OiJpLmUuICVzIjtzOjg6ImJpanYuICVzIjtzOjc1OiJpLmUuICVzIHdpbGwgZ2VuZXJhdGUgJXMgLSBtb3JlIGluZm8gb24gPGEgaHJlZj0nJXMnIHRhcmdldD0nX2JsYW5rJz4lczwvYT4iO3M6ODI6ImJpanYuICVzIHphbCAlcyBnZW5lcmVyZW4gLSBtZWVyIGluZm9ybWF0aWUgb3AgPGEgaHJlZj0nJXMnIHRhcmdldD0nX2JsYW5rJz4lczwvYT4iO3M6MTM6InJlcXVpcmVzICclcyciO3M6MTI6InZlcmVpc3QgJyVzJyI7czoxMjoiQ2FjaGUgV2FybWVyIjtzOjEyOiJDYWNoZSBXYXJtZXIiO3M6MjI6IkNhY2hlIFdhcm1lciBjb21wbGV0ZWQiO3M6MjE6IkNhY2hlIFdhcm1lciBhZmdlcm9uZCI7czozOToiQ2FjaGUgZmlsZSBjb3VsZG4ndCBiZSBjcmVhdGVkIGZvciAnJXMnIjtzOjUzOiJDYWNoZWJlc3RhbmQga29uIG5pZXQgYWFuZ2VtYWFrdCB3b3JkZW4gdm9vciDigJglc+KAmSI7czo2ODoiRHVlIHRvIGEgYnVnIGluIHRoZSBjb3JlIHRoaXMgYWRkLW9uIHdvbid0IHdvcmsgb24gUEhQIDcgYW5kIGhpZ2hlci4iO3M6Njc6IkRvb3IgZWVuIGZvdXQgaW4gZGUgY29yZSB3ZXJrdCBkZXplIGFkZC1vbiBuaWV0IG1ldCBQSFAgNyBlbiBob2dlci4iO3M6MjU6IkZpbHRlciBwYWdlcyBieSBwYWdlIHR5cGUiO3M6MzE6IkZpbHRlciBwYWdpbmHigJlzIG9wIHBhZ2luYXR5cGUiO3M6NDM6IkdlbmVyYXRlcyBjYWNoZSBmaWxlcyB0byByZWR1Y2UgbG9hZCB0aW1lcy4iO3M6NTA6IkdlbmVyZWVydCBjYWNoZWJlc3RhbmRlbiB2b29yIHNuZWxsZXJlIGxhYWR0aWpkZW4uIjtzOjMxOiJMaW1pdCBudW1iZXIgb2YgcGFnZXMgcGVyIGJhdGNoIjtzOjM4OiJCZXBlcmsgaGV0IGFhbnRhbCBwYWdpbmHigJlzIHBlciByZWVrcyI7czoxNDoiU2V0dGluZ3Mgc2F2ZWQiO3M6MjM6Ikluc3RlbGxpbmdlbiBvcGdlc2xhZ2VuIjtzOjMwOiJUaGlzIGpvYiB3b24ndCBydW4gdmlhIHRoZSBDTEkiO3M6NDQ6IkRlemUgdGFhayBrYW4gbmlldCB2aWEgQ0xJIHVpdGdldm9lcmQgd29yZGVuIjtzOjYwOiJUbyBydW4gQ2FjaGUgV2FybWVyLCBnbyB0byA8YSBocmVmPSIlcyI+QXV0b21hdGVkIFRhc2tzPC9hPi4iO3M6Nzk6Ik9tIENhY2hlIFdhcm1lciB1aXQgdGUgdm9lcmVuLCBnYSBuYWFyIDxhIGhyZWY9IiVzIj5HZWF1dG9tYXRpc2VlcmRlIHRha2VuPC9hPi4iO3M6MjU6IkRpc2FibGUgSFRNTCBtaW5pZmljYXRpb24iO3M6Mjg6IlNjaGFrZWwgSFRNTCBjb21wcmVzc2llIHVpdCAiO3M6MjQ6IkVuYWJsZSBIVE1MIG1pbmlmaWNhdGlvbiI7czoyNjoiU2NoYWtlbCBIVE1MIGNvbXByZXNzaWUgaW4iO3M6Mjc6IkVuYWJsZSBmb3IgUmVnaXN0ZXJlZCBVc2VycyI7czo0MjoiSW5zY2hha2VsZW4gdm9vciBnZXJlZ2lzdHJlZXJkZSBnZWJydWlrZXJzIjtzOjExOiJNaW5pZnkgSFRNTCI7czoxNToiQ29tcHJpbWVlciBIVE1MIjtzOjQ2OiJNaW5pZnkgSFRNTCBvdXRwdXQgdG8gZGVjcmVhc2UgcGFnZSBsb2FkIHRpbWVzIjtzOjQzOiJDb21wcmltZWVyIEhUTUwgb20gbGFhZHRpamRlbiB0ZSB2ZXJrbGVpbmVuIjtzOjMyOiJQYWdlcyB3aXRoIG1pbmlmaWNhdGlvbiBkaXNhYmxlZCI7czozOToiUGFnaW5h4oCZcyBtZXQgY29tcHJlc3NpZSB1aXRnZXNjaGFrZWxkIjt9aToyO2E6MTp7czoxMzoiACoAcGx1cmFsUnVsZSI7TzozMjoiWmVuZFxJMThuXFRyYW5zbGF0b3JcUGx1cmFsXFJ1bGUiOjI6e3M6NjoiACoAYXN0IjthOjI6e3M6MjoiaWQiO3M6MjoiIT0iO3M6OToiYXJndW1lbnRzIjthOjI6e2k6MDthOjI6e3M6MjoiaWQiO3M6MToibiI7czo5OiJhcmd1bWVudHMiO2E6MDp7fX1pOjE7YToyOntzOjI6ImlkIjtzOjY6Im51bWJlciI7czo5OiJhcmd1bWVudHMiO2E6MTp7aTowO2k6MTt9fX19czoxMzoiACoAbnVtUGx1cmFscyI7aToyO319aTozO047fQ=='));
/* Child Type: integer */
$data['createdOn'] = 1792506604;
<?php
/* Cachekey: cache/stash_default/zend/zend_i18n_translator_messages_817601c0e7bd3054c0c41e1e4d6d67aa/ */
/* Type: array */
/* Expiration: 2026-10-24T23:11:12+02:00 */
$loaded = true;
$expiration = 1792876272;
$data = array();
/* Child Type: object */
$data['return'] = unserialize(base64_decode('TzozMToiWmVuZFxJMThuXFRyYW5zbGF0b3JcVGV4dERvbWFpbiI6NDp7aTowO2k6MDtpOjE7YTozMDA6e3M6OToiJyVzJyB0ZXh0IjtzOjEwOiInJXMnIHRla3N0IjtzOjg6Ii0tICVzIC0tIjtzOjg6Ii0tICVzIC0tIjtzOjEwMToiLi4gYW5kIHRoZSBwbGF5ZXIgY29udHJvbHMgd2lsbCBzbGlkZSBvdXQgb2YgdmlldyBhIGNvdXBsZSBvZiBzZWNvbmRzIGFmdGVyIHRoZSB2aWRlbyBzdGFydHMgcGxheWluZy4iO3M6MTEzOiIuLiBlbiBkZSB2aWRlb3NwZWxlciBiZWRpZW5pbmdlbiB6dWxsZW4gdWl0IGhldCB6aWNodCB2ZXJ3aWplbiBlZW4gcGFhciBzZWNvbmRlbiBuYWRhdCBkZSB2aWRlbyBiZWdpbnQgdGUgc3BlbGVuLiI7czo4NzoiLi4gYW5kIHRoZSB2aWRlbyBwbGF5ZXIgY29udHJvbHMgd2lsbCBiZSB2aXNpYmxlIHRocm91Z2hvdXQgdGhlIHZpZGVvIGFuZCBpbiBmdWxsc2NyZWVuIjtzOjk5OiIuLiBlbiBkZSB2aWRlb3NwZWxlciBiZWRpZW5pbmdlbiB6dWxsZW4gemljaHRiYWFyIHppam4gaW4gZGUgaGVsZSB2aWRlbyBlbiBpbiB2b2xsZWRpZyBzY2hlcm0tbW9kdXMiO3M6NTM6Ii4uIGZhZGVzIG91dCB3aGlsZSB0aGUgcGxheWVyIGNvbnRyb2xzIHJlbWFpbiB2aXNpYmxlIjtzOjYxOiIuLiB2ZXJkd2lqbnQsIHRlcndpamwgZGUgcGxheWVyIGJlZGllbmluZ2VuIHppY2h0YmFhciBibGlqdmVuIjtzOjk1OiI8c3Ryb25nPiVzPC9zdHJvbmc+IGlzIGluIHRoZSBibGFja2xpc3Qgb2YgdG8gYmUgdXNlZCBibG9jayBoYW5kbGVzLiBQbGVhc2UgdHJ5IGFub3RoZXIgaGFuZGxlLiI7czoxMDY6IjxzdHJvbmc+JXM8L3N0cm9uZz4gc3RhYXQgb3AgZGUgendhcnRlIGxpanN0IHZhbiB0ZSBnZWJydWlrZW4gaGFuZHZhdGVuLiBQcm9iZWVyIGEudS5iLiBlZW4gYW5kZXIgaGFuZHZhdC4iO3M6NDI6IkEgJ1doYXQtWW91LVNlZS1Jcy1XaGF0LVlvdS1HZXQnIHRleHQgYXJlYSI7czo0NjoiRWVuICdXaGF0LVlvdS1TZWUtSXMtV2hhdC1Zb3UtR2V0JyB0ZWtzdGdlYmllZCI7czoyMToiQSBZb3VUdWJlIGVtYmVkIGZpZWxkIjtzOjI4OiJFZW4gWW91VHViZSBlbWJlZCBpbnZvZXJ2ZWxkIjtzOjI2OiJBIGNvbG9yIHBpY2tlciBpbnB1dCBmaWVsZCI7czoyNzoiRWVuIGtsZXVyIGtpZXplciBpbnZvZXJ2ZWxkIjtzOjMzOiJBIGRhdGUgKyB0aW1lLCBkYXRlIG9yIHRpbWUgZmllbGQiO3M6NDI6IkVlbiBkYXR1bSArIHRpamQsIGRhdHVtIG9mIHRpamQgaW52b2VydmVsZCI7czo4MjoiQSBmaWVsZCB3aXRoIG11bHRpcGxlIG9wdGlvbnMgKGFsc28ga25vd24gYXMgZHJvcGRvd24pLCB3aGVyZSB5b3UgbmVlZCB0byBwaWNrIG9uZSI7czo5MjoiRWVuIGludm9lcnZlbGQgbWV0IG1lZXJkZXJlIG9wdGllcyAob29rIHdlbCBiZWtlbmQgYWxzICdkcm9wZG93bicpLCB3YWFyIHUgZXIgZWVuIHNlbGVjdGVlcmQiO3M6MTI6IkEgZmlsZSBmaWVsZCI7czoyMjoiRWVuIGJlc3RhbmQgaW52b2VydmVsZCI7czoxNDoiQSBudW1iZXIgZmllbGQiO3M6MjM6IkVlbiBudW1lcmllayBpbnZvZXJ2ZWxkIjtzOjE1OiJBIHBhZ2Ugc2VsZWN0b3IiO3M6MTc6IkVlbiBwYWdpbmEta2llemVyIjtzOjY2OiJBIHNpbXBsZSB0ZXh0IGFyZWEgdG8gcGxhY2UgaW4geW91ciBQSFAsIEhUTUwsIENTUyAob3Igb3RoZXIpIGNvZGUiO3M6Nzg6IkVlbiBlZW52b3VkaWcgdGVrc3RnZWJpZWQgb20gdXcgUEhQLCBIVE1MLCBDU1MgKG9mIGFuZGVyZSkgY29kZSBpbiB0ZSBwbGFhdHNlbiI7czo2NToiQSBzaW1wbGUgdGV4dCBhcmVhIHdoZXJlIHlvdSBjYW4gdXNlIGFsbCBtYXJrZG93biBmdW5jdGlvbmFsaXRpZXMiO3M6OTA6IkVlbiBlZW52b3VkaWcgdGVrc3RnZWJpZWQgd2FhcmluIGFsbGUgbWFya2Rvd24gZnVuY3Rpb25hbGl0ZWl0ZW4gaW4gZ2VicnVpa3Qga3VubmVuIHdvcmRlbiI7czo0MjoiQSBzaW1wbGUgdGV4dCBhcmVhIHdpdGggbm8gZWRpdGluZyBvcHRpb25zIjtzOjQ5OiJFZW4gZWVudm91ZGlnIHRla3N0Z2ViaWVkIHpvbmRlciBiZXdlcmtpbmdzb3B0aWVzIjtzOjE0OiJBIHN0YWNrcyBmaWVsZCI7czoyNDoiRWVuICdzdGFwZWxzJyBpbnZvZXJ2ZWxkIjtzOjE4OiJBIHRleHQgaW5wdXQgZmllbGQiO3M6MjA6IkVlbiB0ZWtzdCBpbnZvZXJ2ZWxkIjtzOjU2OiJBIHRleHQgaW5wdXQgZmllbGQsIHdoZXJlIHlvdSB3b3VsZCBlbnRlciBhbiBodHRwOi8vIFVSTCI7czo1NzoiRWVuIHRla3N0IGludm9lcnZlbGQsIHdhYXIgdSBlZW4gaHR0cDovLyBVUkwgem91IGludm9lcmVuIjtzOjk6IkFkZCBDb2xvciI7czoxNToiS2xldXIgdG9ldm9lZ2VuIjtzOjc6IkFkZCBSb3ciO3M6MTM6IlJpaiB0b2V2b2VnZW4iO3M6MTE6IkFkZCBhIGZpZWxkIjtzOjE4OiJFZW4gdmVsZCB0b2V2b2VnZW4iO3M6ODoiQWR2YW5jZWQiO3M6MTE6IkdlYXZhbmNlZXJkIjtzOjM0OiJBbGxvdyBhbHBoYSB0cmFuc3BhcmVuY3kgc2VsZWN0aW9uIjtzOjM1OiJTdGEgYWxwaGEgdHJhbnNwYXJlbmN5IHNlbGVjdGllIHRvZSI7czoxMToiQWxsb3cgZW1wdHkiO3M6MTg6IlN0YSBsZWVnd2FhcmRlIHRvZSI7czozNDoiQWx3YXlzIHNob3cgdXAgYXQgZnVsbCBzaXplIChmbGF0KSI7czozODoiVG9vbiBhbHRpamQgb3Agdm9sbGVkaWcgZm9ybWFhdCAocGxhdCkiO3M6MTQ6IkFuIGVtYWlsIGZpZWxkIjtzOjIwOiJFZW4gZW1haWwgaW52b2VydmVsZCI7czoxNzoiQW4gaW1hZ2Ugc2VsZWN0b3IiO3M6MjE6IkVlbiBhZmJlZWxkaW5nLWtpZXplciI7czo1MToiQW4gdW5rbm93biBmaWVsZCB0eXBlIHdhcyBwb3N0ZWQuIFBsZWFzZSB0cnkgYWdhaW4uIjtzOjY2OiJFZW4gb25iZWtlbmQgdmVsZCB0eXBlIGlzIG1lZWdlc3R1dXJkLiBQcm9iZWVyIGhldCBhLnUuYi4gb3BuaWV1dy4iO3M6MTAyOiJBbnl0aGluZyBlbnRlcmVkIGhlcmUgd2lsbCBiZSBkaXJlY3RseSBvdXRwdXR0ZWQgdG8gdGhlIGJsb2NrIHZpZXcuIFVzZXJzIHdpbGwgbm90IGJlIGFibGUgdG8gZWRpdCBpdC4iO3M6MTM1OiJBbGxlcyB3YXQgaGllciB3b3JkdCBpbmdldm9lcmQsIHphbCBkaXJlY3QgZ2V0b29uZCB3b3JkZW4gYmlubmVuIGhldCBibG9rIHR5cGUuIEdlYnJ1aWtlcnMgaGViYmVuIGdlZW4gbW9nZWxpamtoZWlkIG9tIGRpdCB0ZSBiZXdlcmtlbi4iO3M6MTk6IkFzIHNlZW4gaW4gdGhlIGZvcm0iO3M6MzA6IlpvYWxzIHRlIHppZW4gaW4gaGV0IGZvcm11bGllciI7czo2OiJBc3NldHMiO3M6NjoiQXNzZXRzIjtzOjk6IkF1dG8gaGlkZSI7czoyMToiQXV0b21hdGlzY2ggdmVyYmVyZ2VuIjtzOjk6IkF1dG8gcGxheSI7czoyMToiQXV0b21hdGlzY2ggYWZzcHJlbGVuIjtzOjIxOiJBdXRvbWF0aWNhbGx5IGRpc2FibGUiO3M6MjQ6IkF1dG9tYXRpc2NoIHVpdHNjaGFrZWxlbiI7czo1MjoiQXV0b21hdGljYWxseSBoaWRlIGFmdGVyIGEgcGFsZXR0ZSBjb2xvciBpcyBzZWxlY3RlZCI7czo1OToiQXV0b21hdGlzY2ggdmVyYmVyZ2VuIG5hZGF0IGVlbiBwYWxldCBrbGV1ciBpcyBnZXNlbGVjdGVlcmQiO3M6NjoiQmFzaWNzIjtzOjEzOiJCYXNpc2dlZ2V2ZW5zIjtzOjE3OiJCZXR3ZWVuICVzIGFuZCAlcyI7czoxNToiVHVzc2VuICVzIGVuICVzIjtzOjE0OiJCbG9jayBEZXNpZ25lciI7czoxNDoiQmxvY2sgRGVzaWduZXIiO3M6MTI6IkJsb2NrIGhhbmRsZSI7czoxNzoiQmxvayB0eXBlIGhhbmR2YXQiO3M6NjA6IkJsb2NrIGhhbmRsZSA8c3Ryb25nPiVzPC9zdHJvbmc+IGRvZXMgbm90IG1hdGNoIG91ciBwYXR0ZXJuLiI7czo3MjoiQmxvayB0eXBlIGhhbmR2YXQgPHN0cm9uZz4lczwvc3Ryb25nPiBrb210IG5pZXQgb3ZlcmVlbiBtZXQgb25zIHBhdHJvb24uIjtzOjEwOiJCbG9jayBpbmZvIjtzOjIwOiJCbG9rIHR5cGUgaW5mb3JtYXRpZSI7czoxMDoiQmxvY2sgbmFtZSI7czoxNDoiQmxvayB0eXBlIG5hYW0iO3M6MTY6IkJsb2NrIG9yZGVyIGluZm8iO3M6Mjk6IkJsb2sgdHlwZSB2b2xnb3JkZSBpbmZvcm1hdGllIjtzOjM1OiJCbG9jayB0eXBlICVzIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LiI7czo0MjoiQmxvayB0eXBlIHR5cGUgJXMgaXMgc3VjY2Vzdm9sIGdlY3Jlw6tlcmQuIjtzOjU2OiJCbG9jayB0eXBlIDxzdHJvbmc+JXM8L3N0cm9uZz4gZG9lcyBub3QgZXhpc3QgKGFueW1vcmUpLiI7czo1MDoiQmxvayB0eXBlIDxzdHJvbmc+JXM8L3N0cm9uZz4gYmVzdGFhdCBuaWV0IChtZWVyKS4iO3M6NTI6IkJsb2NrIHR5cGUgPHN0cm9uZz4lczwvc3Ryb25nPiBpcyBhbHJlYWR5IGluc3RhbGxlZC4iO3M6NTQ6IkJsb2sgdHlwZSA8c3Ryb25nPiVzPC9zdHJvbmc+IGlzIHJlZWRzIGdlw69uc3RhbGxlZXJkLiI7czoxNTI6IkJsb2NrIHR5cGUgZm9sZGVyIDxzdHJvbmc+JXM8L3N0cm9uZz4gYWxyZWFkeSBleGlzdHMuIFlvdSB3YW50IHRvIDxhIGhyZWY9IiVzIiBjbGFzcz0iZGVsZXRlX2ZvbGRlciI+PHN0cm9uZz5kZWxldGUgdGhpcyBibG9jayB0eXBlIGZvbGRlcjwvc3Ryb25nPjwvYT4/IjtzOjE0MzoiQmxvayB0eXBlIG1hcCA8c3Ryb25nPiVzPC9zdHJvbmc+IGJlc3RhYXQgcmVlZHMuIFdpbHQgdSA8YSBocmVmPSIlcyIgY2xhc3M9ImRlbGV0ZV9mb2xkZXIiPjxzdHJvbmc+ZGV6ZSBibG9rIHR5cGUgbWFwIHZlcndpamRlcmVuPC9zdHJvbmc+PC9hPj8iO3M6MzQ6IkJsb2NrIHR5cGUgaW5zdGFsbGVkIHN1Y2Nlc3NmdWxseS4iO3M6Mzg6IkJsb2sgdHlwZSBpcyBzdWNjZXN2b2wgZ2XDr25zdGFsbGVlcmQuIjtzOjE0OiJCbG9jayB0eXBlIHNldCI7czoxNToiQmxvayB0eXBlIGdyb2VwIjtzOjEyNDoiQmxvY2sgdHlwZSB3aXRoIGhhbmRsZSA8c3Ryb25nPiVzPC9zdHJvbmc+IGFscmVhZHkgaW5zdGFsbGVkLiBQbGVhc2UgdXNlIGEgZGlmZmVyZW50IGhhbmRsZSwgYmVmb3JlIGNvbnRpbnVpbmcgdGhpcyBwcm9jZXNzLiI7czoxMzU6IkJsb2sgdHlwZSBtZXQgaGFuZHZhdCA8c3Ryb25nPiVzPC9zdHJvbmc+IGlzIHJlZWRzIGdlw69uc3RhbGxlZXJkLiBHZWJydWlrIGEudS5iLiBlZW4gYW5kZXIgaGFuZHZhdCwgdm9vcmRhdCB1IGRvb3JnYWF0IG1ldCBkaXQgcHJvY2VzLiI7czo0NToiQnVpbGQgUEhQIHN3aXRjaCwgSSB3aWxsIGNvZGUgdGhlIHJlc3QgbXlzZWxmIjtzOjQ2OiJCb3V3IGRlIFBIUCBzd2l0Y2gsIGlrIGNvZGVlciBkZSByZXN0IHplbGYgd2VsIjtzOjE4OiJDYWNoZSBibG9jayBvdXRwdXQiO3M6MTg6IkNhY2hlIGJsb2NrIG91dHB1dCI7czozOToiQ2FjaGUgYmxvY2sgb3V0cHV0IGZvciByZWdpc3RlcmVkIHVzZXJzIjtzOjQ5OiJDYWNoZSBibG9jayBvdXRwdXQgdm9vciBnZXJlZ2lzdHJlZXJkZSBnZWJydWlrZXJzIjtzOjI3OiJDYWNoZSBibG9jayBvdXRwdXQgbGlmZXRpbWUiO3M6MjM6IkNhY2hlIGJsb2NrIG91dHB1dCBkdXVyIjtzOjI2OiJDYWNoZSBibG9jayBvdXRwdXQgb24gcG9zdCI7czo0NToiQ2FjaGUgYmxvY2sgb3V0cHV0IG1ldCBmb3JtdWxpZXIvcG9zdCB3YWFyZGVzIjtzOjE4OiJDYWNoZSBibG9jayByZWNvcmQiO3M6MTg6IkNhY2hlIGJsb2NrIHJlY29yZCI7czo2OiJDYW5jZWwiO3M6OToiQW5udWxlcmVuIjtzOjY6IkNob29zZSI7czo2OiJLaWV6ZW4iO3M6OToiQ2xhc3MoZXMpIjtzOjExOiJLbGFzc2VuYW1lbiI7czo0NjoiQ2xhc3MoZXMpIHRvIGJlIGFkZGVkIHRvIHRoZSBpRnJhbWUsIGkuZS4gJyVzJyI7czo2ODoiS2xhc3NlbmFtZW4gd2Vsa2UgdG9lZ2V2b2VnZCB6dWxsZW4gd29yZGVuIGFhbiBkZSBpRnJhbWUsIGJpanYuICclcyciO3M6NTM6IkNsYXNzKGVzKSB0byBiZSBhZGRlZCB0byB5b3VyIGVtYWlsIGFuY2hvciwgaS5lLiAnJXMnIjtzOjcyOiJLbGFzc2VuYW1lbiB3ZWxrZSB0b2VnZXZvZWdkIHp1bGxlbiB3b3JkZW4gYWFuIGRlIGVtYWlsIGxpbmssIGJpanYuICclcyciO3M6NDU6IkNsYXNzKGVzKSB0byBiZSBhZGRlZCB0byB5b3VyIGZpbGUsIGkuZS4gJyVzJyI7czo3MDoiS2xhc3NlbmFtZW4gd2Vsa2UgdG9lZ2V2b2VnZCB6dWxsZW4gd29yZGVuIGFhbiBoZXQgYmVzdGFuZCwgYmlqdi4gJyVzJyI7czo0NjoiQ2xhc3MoZXMpIHRvIGJlIGFkZGVkIHRvIHlvdXIgaW1hZ2UsIGkuZS4gJyVzJyI7czo3MDoiS2xhc3NlbmFtZW4gZGllIHp1bGxlbiB3b3JkZW4gdG9lZ2V2b2VnZCBhYW4gZGUgYWZiZWVsZGluZywgYmlqdi4gJyVzJyI7czo0NToiQ2xhc3MoZXMpIHRvIGJlIGFkZGVkIHRvIHlvdXIgbGluaywgaS5lLiAnJXMnIjtzOjY2OiJLbGFzc2VuYW1lbiB3ZWxrZSB0b2VnZXZvZWdkIHp1bGxlbiB3b3JkZW4gYWFuIGRlIGxpbmssIGJpanYuICclcyciO3M6MjE6IkNsZWFyIENvbG9yIFNlbGVjdGlvbiI7czoxNzoiV2lzIGtsZXVyc2VsZWN0aWUiO3M6Nzg6IkNsaWNrIG9uIGEgZGVzaXJlZCBibG9jayB0eXBlIHRvIGxvYWQgdGhlIGNvbmZpZyBpbnRvIHRoZSBCbG9jayBEZXNpZ25lciBmb3JtLiI7czo5NDoiS2xpayBvcCBlZW4gZ2V3ZW5zdGUgYmxvayB0eXBlIG9tIGRlIGNvbmZpZ3VyYXRpZSBpbiBoZXQgQmxvY2sgRGVzaWduZXIgZm9ybXVsaWVyIGluIHRlIGxhZGVuLiI7czoyMToiQ2xpY2tvdXQgZmlyZXMgY2hhbmdlIjtzOjM1OiJFcmJ1aXRlbiBrbGlra2VuIGFjdGl2ZWVydCBgY2hhbmdlYCI7czo0OiJDb2RlIjtzOjQ6IkNvZGUiO3M6MTI6IkNvbGxhcHNlIEFsbCI7czoxNToiQWxsZXMgaW5rbGFwcGVuIjtzOjEyOiJDb2xvciBQaWNrZXIiO3M6MTE6IktsZXVya2llemVyIjtzOjI1NzoiQ29weS9wYXN0ZSB0aGUgQ1NTIGFuZCBKYXZhU2NyaXB0IHlvdSBuZWVkIGhlcmUsIGluIG9yZGVyIHRvIGdldCB5b3VyIGJsb2NrIHNob3cvYmVoYXZlIGxpa2UgaXQgc2hvdWxkLiBUaGluayB0d2ljZSBpZiB0aGUgYXNzZXRzIHlvdSBuZWVkLCByZWFsbHkgY2FuIG5vdCBiZSBpbXBsZW1lbnRlZCBpbnRvIHRoZSB0aGVtZS4gTG9hZGluZyBtb3JlIGFzc2V0cyB3aWxsIG1lYW4gbW9yZSByZXF1ZXN0cyB0byB5b3VyIHdlYnNpdGUgKHBlciB1c2VyKSEiO3M6MzA4OiIgS29waWVlci9wbGFrIGRlIENTUyBlbiBKYXZhU2NyaXB0IGRpZSBqZSBub2RpZyBoZWJ0IGhpZXIsIG9tIGplIGJsb2stZm9ybWFhdCB0ZSB0b25lbi9sYXRlbiB3ZXJrZW4gem9hbHMgaGV0IGhvb3J0LiBEZW5rIGdvZWQgbmEgb2YgZGUgYXNzZXRzIGRpZSBqZSBub2RpZyBoZWJ0LCBkYWFkd2Vya2VsaWprIG5pZXQgaW4gaGV0IHRoZW1hIGdlw69tcGxlbWVudGVlcmQga3VubmVuIHdvcmRlbi4gSGV0IGxhZGVuIHZhbiBtZWVyIGFzc2V0cyBiZXRla2VudCBtZWVyIHZlcnpvZWtlbiBuYWFyIGplIHdlYnNpdGUgKHBlciBnZWJydWlrZXIpISI7czo5OToiQ3JlYXRlIGEgbmV3IGJsb2NrIHR5cGUgYnkgZW50ZXJpbmcgc29tZSBiYXNpYyBpbmZvIGFuZCBhZGRpbmcgb25lIG9yIG1vcmUgZmllbGRzIChmaWVsZHMgc2VjdGlvbikuIjtzOjEyMDoiTWFhayBlZW4gbmlldXcgYmxvayB0eXBlLCBkb29yIGVua2VsZSBiYXNpc2dlZ2V2ZW5zIGluIHRlIHZ1bGxlbiBlbiBlZW4gb2YgbWVlcmRlcmUgdmVsZGVuIHRvZSB0ZSB2b2VnZW4gKHZlbGRlbiBzZWN0aWUpIjtzOjQ0OiJDcm9wIHRoZSBpbWFnZSB0byB0aGUgZ2l2ZW4gd2lkdGggYW5kIGhlaWdodCI7czo1MzoiU25pamQgZGUgYWZiZWVsZGluZyB0b3QgZWVuIGdlZ2V2ZW4gYnJlZWR0ZSBlbiBob29ndGUiO3M6NjoiQ3VzdG9tIjtzOjk6IkFhbmdlcGFzdCI7czoxMToiQ3VzdG9tIHNpemUiO3M6MTg6IkFhbmdlcGFzdGUgZ3Jvb3R0ZSI7czoxNzoiRGF0YWJhc2UgZGVjaW1hbHMiO3M6MTg6IkRhdGFiYXNlIGRlY2ltYWxlbiI7czoxNToiRGF0YWJhc2UgbGVuZ3RoIjtzOjE1OiJEYXRhYmFzZSBsZW5ndGUiO3M6OToiRGF0ZSBUaW1lIjtzOjEwOiJEYXR1bSB0aWpkIjtzOjExOiJEYXRlIGZvcm1hdCI7czoxMjoiRGF0dW1ub3RhdGllIjtzOjI4OiJEYXRldGltZXBpY2tlciBwbHVnaW4gY29uZmlnIjtzOjM0OiJEYXRldGltZXBpY2tlciBwbHVnaW4gY29uZmlndXJhdGllIjtzOjEzOiJEZWNpbWFsIHBvaW50IjtzOjEzOiJEZWNpbWFhbHRla2VuIjtzOjg6IkRlY2ltYWxzIjtzOjk6IkRlY2ltYWxlbiI7czoyMjoiRGVmYXVsdCBibG9jayB0eXBlIHNldCI7czoyNToiU3RhbmRhYXJkIGJsb2sgdHlwZSBncm9lcCI7czoxMjoiRGVmYXVsdCBkYXRlIjtzOjE1OiJTdGFuZGFhcmQgZGF0dW0iO3M6Mjg6IkRlZmF1bHRzIHRvIHRvZGF5ICsxMDAgeWVhcnMiO3M6MzM6IlZhbHQgdGVydWcgbmFhciB2YW5kYWFnICsxMDAgamFhciI7czo2OiJEZWxldGUiO3M6MTE6IlZlcndpamRlcmVuIjtzOjEwOiJEZWxldGUgUm93IjtzOjE1OiJSaWogdmVyd2lqZGVyZW4iO3M6MTE6IkRlc2NyaXB0aW9uIjtzOjEyOiJPbXNjaHJpanZpbmciO3M6NTE6IkRlc2lnbiB5b3VyIG93biBjb250ZW50IGJsb2NrcyB3aXRoaW4gYSBmZXcgY2xpY2tzISI7czo1NzoiT250d2VycCBqZSBlaWdlbiBjb250ZW50IGJsb2trZW4gYmlubmVuIGVlbiBwYWFyIGtsaWtrZW4hIjtzOjEyOiJEZXZlbG9wZWQgYnkiO3M6MTU6Ik9udHdpa2tlbGQgZG9vciI7czoxNDoiRGlyZWN0IGluc3RhbGwiO3M6MTg6IkRpcmVjdCBpbnN0YWxsZXJlbiI7czoyMDg6IkRpcmVjdG9yeSA8c3Ryb25nPiVzPC9zdHJvbmc+IGRvZXMgbm90IGV4aXN0IGFuZCBuZWVkcyB0byBleGlzdCBiZWZvcmUgeW91IGNhbiB1c2UgdGhpcyBwYWNrYWdlLiBQbGVhc2UgY3JlYXRlIHRoaXMgaW4geW91ciBlbnZpcm9ubWVudCBhbmQgZ2l2ZSBpdCByZWFkLCB3cml0ZSBhbmQgZXhlY3V0ZSBwZXJtaXNzaW9ucyAoPHN0cm9uZz4wNzc3PC9zdHJvbmc+KS4iO3M6MjAzOiJNYXAgPHN0cm9uZz4lczwvc3Ryb25nPiBiZXN0YWF0IG5pZXQgZW4gbW9ldCBiZXN0YWFuIHZvb3JkYXQgZGV6ZSBleHRlbnNpZSBnZWJydWlrdCBrYW4gd29yZGVuLiBNYWFrIGRlemUgbWFwIGFhbiBpbiB1dyBvbWdldmluZyBlbiBnZWVmIGhldCBsZWVzLSwgc2NocmlqZi0gZW4gdWl0dm9lciBwZXJtaXNzaWVzICg8c3Ryb25nPjA3Nzc8L3N0cm9uZz4pLiI7czoxNjoiRGlzYWJsZSBrZXlib2FyZCI7czoyMToiS2V5Ym9hcmQgdWl0c2NoYWtlbGVuIjtzOjIxOiJEaXNhbGxvdyBmbG9hdCBudW1iZXIiO3M6MjY6IkRlY2ltYWxlIGdldGFsbGVuIHdlaWdlcmVuIjtzOjQ1OiJEbyBub3Qgc2V0IHRoZSB2YWx1ZSB0byB0aGUgY3VycmVudCBkYXRlL3RpbWUiO3M6NDU6IlpldCBkZSB3YWFyZGUgbmlldCBuYWFyIGRlIGh1aWRpZ2UgZGF0dW0vdGlqZCI7czo1NjoiRG8gbm90IHNob3cgYW4gZXh0cmEgZmllbGQsIHdoZXJlIGEgdGl0bGUgY2FuIGJlIGVudGVyZWQiO3M6NjM6IlRvb24gZ2VlbiBleHRyYSBpbnZvZXJ2ZWxkLCB3YWFyIGVlbiB0aXRlbCBrYW4gd29yZGVuIGluZ2V2b2VyZCI7czo3NjoiRG8gbm90IHNob3cgYW4gZXh0cmEgZmllbGQsIHdoZXJlIGFuIGFsdGVybmF0aXZlIChwYWdlKSB0aXRsZSBjYW4gYmUgZW50ZXJlZCI7czo4NToiVG9vbiBnZWVuIGV4dHJhIGludm9lcnZlbGQsIHdhYXIgZWVuIGFsdGVybmF0aWV2ZSAocGFnaW5hKSB0aXRlbCBrYW4gd29yZGVuIGluZ2V2b2VyZCI7czozMToiRG8gbm90IHNob3cgdGhlIHRvZGF5IGluZGljYXRvciI7czozNDoiVG9vbiBkZSBodWlkaWdlIGRhZyBpbmRpY2F0b3IgbmlldCI7czoyNDQ6IkRyYWcgYW5kIGRyb3AgZWFjaCBmaWVsZCB0eXBlIGluIHRoZSBwb3NpdGlvbiB5b3Ugd2FudCB0aGVtIGluLiBUaGUgb25lcyB0aGF0IGFyZSBjb2xvcmVkIHJlZCwgYXJlIGZpZWxkcyB0aGF0IGFyZSBzZWxlY3RlZCB1bmRlciB0aGUgJ0hpZGUgRmllbGQgVHlwZXMnLiBUaGlzIHdheSB5b3Uga25vdyB3aGljaCBvbmVzIGFyZSBoaWRkZW4gYW5kIHlvdSBjb3VsZCBkcmFnIHRoZW0gdG8gdGhlIGJvdHRvbSBvZiB0aGUgbGlzdC4iO3M6MjU1OiJTbGVlcCBlbGsgdmVsZCB0eXBlIG5hYXIgZGUgZ2V3ZW5zdGUgcG9zaXRpZS4gRGUgdmVsZCB0eXBlcyByb29kIGdla2xldXJkIHppam4gZGV6ZSBkaWUgemlqbiBnZXNlbGVjdGVlcmQgb25kZXIgJ1ZlcmJlcmcgdmVsZCB0eXBlcycuIFZpYSBkZXplIHdlZyBpcyBoZXQgbWFra2VsaWprIHRlIHppZW4gd2Vsa2UgdmVyYm9yZ2VuIHppam4gZW4ga3VubmVuIGRlemUgbmFhciBkZSBvbmRlcmthbnQgdmFuIGRlIGxpanN0IGdlc2xlZXB0IHdvcmRlbi4iO3M6MzA6IkVjaG8gdGhlIHNlbGVjdGVkIGtleSwgaS5lLiAlcyI7czozNToiRWNobyBkZSBnZXNlbGVjdGVlcmRlIGtleSwgYmlqdi4gJXMiO3M6MzI6IkVjaG8gdGhlIHNlbGVjdGVkIHZhbHVlLCBpLmUuICVzIjtzOjM4OiJFY2hvIGRlIGdlc2VsZWN0ZWVyZGUgd2FhcmRlLCBiaWp2LiAlcyI7czoxMzoiRW1haWwgc3ViamVjdCI7czoxNToiRW1haWwgb25kZXJ3ZXJwIjtzOjI4OiJFbmFibGUgcHJpdmFjeS1lbmhhbmNlZCBtb2RlIjtzOjM3OiJVaXRnZWJyZWlkZSBwcml2YWN5IG1vZHVzIGluc2NoYWtlbGVuIjtzOjM6IkVuZCI7czo1OiJFaW5kZSI7czo5MjoiRW50ZXIgeW91ciBzdGF0aWMgSFRNTCBoZXJlIChvciBhbnkgb3RoZXIgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzIHlvdSBwcmVmZXIsIGxpa2UgQ1NTL0pTL1BIUCkiO3M6ODc6IlZ1bCB1dyBzdGF0aXNjaGUgSFRNTCBoaWVyIGluIChvZiBlbGtlIGFuZGVyZSBwcm9ncmFtbWVlcnRhYWwgdSB3aWx0LCB6b2FscyBDU1MvSlMvUEhQKSI7czoxMDoiRXhwYW5kIEFsbCI7czoxNjoiQWxsZXMgdWl0a2xhcHBlbiI7czoxNDoiRmFsbGJhY2sgdmFsdWUiO3M6MTU6IlRlcnVndmFsIHdhYXJkZSI7czozNzoiRmllbGQgPHN0cm9uZz4lczwvc3Ryb25nPiBpcyByZXF1aXJlZCI7czozNzoiVmVsZCA8c3Ryb25nPiVzPC9zdHJvbmc+IGlzIHZlcnBsaWNodCI7czoyMzoiRmllbGQgVHlwZSBDdXN0b20gT3JkZXIiO3M6Mjk6IlZlbGQgdHlwZSBhYW5nZXBhc3RlIHZvbGdvcmRlIjtzOjI5OiJGaWVsZCBUeXBlIEhhbmRsZSAoYXNjZW5kaW5nKSI7czoyODoiVmVsZCB0eXBlIGhhbmR2YXQgKG9wbG9wZW5kKSI7czozMDoiRmllbGQgVHlwZSBIYW5kbGUgKGRlc2NlbmRpbmcpIjtzOjI4OiJWZWxkIHR5cGUgaGFuZHZhdCAoYWZsb3BlbmQpIjtzOjI3OiJGaWVsZCBUeXBlIE5hbWUgKGFzY2VuZGluZykiO3M6MjU6IlZlbGQgdHlwZSBuYWFtIChvcGxvcGVuZCkiO3M6Mjg6IkZpZWxkIFR5cGUgTmFtZSAoZGVzY2VuZGluZykiO3M6MjU6IlZlbGQgdHlwZSBuYWFtIChhZmxvcGVuZCkiO3M6MTg6IkZpZWxkIFR5cGUgU29ydGluZyI7czoxOToiVmVsZCB0eXBlIHNvcnRlcmluZyI7czo2OiJGaWVsZHMiO3M6NjoiVmVsZGVuIjtzOjY4OiJGb3IgYWR2YW5jZWQgdXNlcnMgb25seS4gRGVmYXVsdCB2YWx1ZXMgc2hvdWxkIGJlIE9LIGZvciBhbGwgdXNhZ2VzLiI7czo5MToiRW5rZWwgdm9vciBnZWF2YW5jZWVyZGUgZ2VicnVpa2Vycy4gU3RhbmRhYXJkIHdhYXJkZXMgbW9ldGVuIE9LIHppam4gdm9vciBhbGxlIHRvZXBhc3NpbmdlbiI7czoxNToiR2VuZXJhbCBPcHRpb25zIjtzOjE1OiJBbGdlbWVuZSBvcHRpZXMiO3M6NjoiSGFuZGxlIjtzOjc6IkhhbmR2YXQiO3M6NjoiSGVpZ2h0IjtzOjY6Ikhvb2d0ZSI7czozOiJIZXgiO3M6MzoiSGV4IjtzOjMwOiJIZXggKDMgQ2hhcmFjdGVycyBJZiBQb3NzaWJsZSkiO3M6MzM6IkhleCAoMyBrYXJha3RlcnMgaW5kaWVuIG1vZ2VsaWprKSI7czoxNjoiSGlkZSBGaWVsZCBUeXBlcyI7czoxODoiVmVyYmVyZyB2ZWxkIHR5cGVzIjtzOjE3OiJIaWRlIFlvdVR1YmUgbG9nbyI7czoyMDoiVmVyYmVyZyBZb3VUdWJlIGxvZ28iO3M6MjA6IkhpZGUgcGxheWVyIGNvbnRyb2xzIjtzOjMxOiJWZXJiZXJnIHZpZGVvc3BlbGVyIGJlZGllbmluZ2VuIjtzOjQ1OiJIaWRlIHN1Z2dlc3RlZCB2aWRlb3Mgd2hlbiB0aGUgdmlkZW8gZmluaXNoZXMiO3M6NjY6IlZlcmJlcmcgdm9vcmdlc3RlbGRlIHZpZGVvcyB3YW5uZWVyIGRlIHZpZGVvIGtsYWFyIGlzIG1ldCBhZnNwZWxlbiI7czoyMDoiSGlkZSB0aGUgZGF0ZSBwaWNrZXIiO3M6MjM6IlZlcmJlcmcgZGUgZGF0dW0ga2llemVyIjtzOjIzOiJIaWRlIHRoZSBtaW51dGVzIHBpY2tlciI7czoyNToiVmVyYmVyZyBkZSBtaW51dGVuIGtpZXplciI7czoyMzoiSGlkZSB0aGUgc2Vjb25kcyBwaWNrZXIiO3M6MjY6IlZlcmJlcmcgZGUgc2Vjb25kZW4ga2llemVyIjtzOjIwOiJIaWRlIHRoZSB0aW1lIHBpY2tlciI7czoyMjoiVmVyYmVyZyBkZSB0aWpkIGtpZXplciI7czoxNjoiSGlkZSB0aXRsZSBmaWVsZCI7czoxODoiVmVyYmVyZyB0aXRlbCB2ZWxkIjtzOjM1OiJIaWRlIHZpZGVvIHRpdGxlIGFuZCBwbGF5ZXIgYWN0aW9ucyI7czo0MToiVmVyYmVyZyB2aWRlbyB0aXRlbCBlbiB2aWRlb3NwZWxlciBhY3RpZXMiO3M6Mzc6IkhvdyBtYW55IGRlY2ltYWxzIHRoZSBudW1iZXIgbWF5IGhhdmUiO3M6NDE6IkhvZXZlZWwgZGVjaW1hbGVuIGhldCBudW1tZXIgbWFnIGJldmF0dGVuIjtzOjYyOiJIb3cgbWFueSBlbGVtZW50cyBhcmUgYWxsb3dlZCBpbiB0aGUgc2VsZWN0aW9uIHBhbGV0dGUgYXQgb25jZSI7czo3NDoiSG9ldmVlbCBlbGVtZW50ZW4gdGVnZWxpamsgZXIgemlqbiB0b2VnZXN0YWFuIGluIGRlIHNlbGVjdGllIHZhbiBoZXQgcGFsZXQiO3M6MzoiSHNsIjtzOjM6IkhzbCI7czoxOToiSHVtYW4tcmVhZGFibGUgbmFtZSI7czoxMzoiTGVlc2JhcmUgbmFhbSI7czo0OiJJY29uIjtzOjk6IlBpY3RvZ3JhbSI7czo3NzoiSWRlYWxseSBhIDUweDUwIHBpeGVscyBpbWFnZSB0byBiZSB1c2VkIHRvIGRpc3Rpbmd1aXNoIHRoaXMgYmxvY2sgZnJvbSBvdGhlcnMiO3M6OTI6IklkZWFsaXRlciBlZW4gNTB4NTAgcGl4ZWxzIGFmYmVlbGRpbmcsIGdlYnJ1aWt0IG9tIGRpdCBibG9rIHR5cGUgdGUgb25kZXJzY2hlaWRlbiB2YW4gYW5kZXJlIjtzOjk1OiJJZiBsZWZ0IGJsYW5rIGFuZCB0aGUgdXNlciBkb2VzIG5vdCBmaWxsIGluIGEgdGl0bGUsIHRoZSBuYW1lIG9mIHRoZSBmaWxlIHdpbGwgYmUgdXNlZCBhcyB0aXRsZSI7czoxMDk6IkluZGllbiBsZWVnIGdlbGF0ZW4gZW4gZGUgZ2VicnVpa2VyIHZ1bHQgZ2VlbiB0aXRlbCBpbiwgemFsIGRlIG5hYW0gdmFuIGhldCBiZXN0YW5kIGdlYnJ1aWt0IHdvcmRlbiBhbHMgdGl0ZWwiO3M6MTA0OiJJZiB0aGUgaGFuZGxlIGlzIGZvdW5kLCBpdCB3aWxsIHVzZSBpdHMgZGF0YSB0byBjcmVhdGUgdGhlIGltYWdlIHdpdGggdGhlIGdpdmVuIHdpZHRoL2hlaWdodCAoZ28gdG8gJXMpLiI7czoxMjg6IkFscyBoZXQgaGFuZHZhdCBpcyBnZXZvbmRlbiwgemFsIGhldCBkZXplIGRhdGEgZ2VicnVpa2VuIG9tIGRlIGFmYmVlbGRpbmdlbiB0ZSBtYWtlbiBtZXQgZGUgZ2VnZXZlbiBicmVlZHRlL2hvb2d0ZSAoZ2EgbmFhciAlcykuIjtzOjEzMToiSWYgdGhlcmUgYXJlIG5vIGJ1dHRvbnMsIHRoZSBiZWhhdmlvciB3aWxsIGJlIHRvIGZpcmUgdGhlIGBjaGFuZ2VgIGV2ZW50IChhbmQgdXBkYXRlIHRoZSBvcmlnaW5hbCBpbnB1dCkgd2hlbiB0aGUgcGlja2VyIGlzIGNsb3NlZC4iO3M6MTYyOiJJbmRpZW4gZXIgZ2VlbiBrb3BwZW4gemlqbiwgemFsIGhldCBnZWRyYWcgemlqbiBvbSBoZXQgYGNoYW5nZWAgZXZlbnQgdGUgYWN0aXZlcmVuIChlbiBoZXQgdXBkYXRlbiB2YW4gZGUgb3JpZ2luZWxlIGludm9lcikgd2FubmVlciBkZSBjb2xvcnBpY2tlciB3b3JkdCBnZXNsb3Rlbi4iO3M6NDI6Iklnbm9yZSBQYWdlIFRoZW1lIEdyaWQgRnJhbWV3b3JrIENvbnRhaW5lciI7czo0MjoiTmVnZWVyIFBhZ2UgVGhlbWUgR3JpZCBGcmFtZXdvcmsgQ29udGFpbmVyIjtzOjk6Ikluc3RhbGxlZCI7czoxNDoiR2XDr25zdGFsbGVlcmQiO3M6OToiSW50ZXJmYWNlIjtzOjk6IkludGVyZmFjZSI7czo0ODoiS2VlcCB0cmFjayBvZiB3aGF0IGhhcyBiZWVuIHNlbGVjdGVkIGJ5IHRoZSB1c2VyIjtzOjU0OiJIb3VkdCBiaWogdmFuIHdhdCBlciBpcyBnZXNlbGVjdGVlcmQgZG9vciBkZSBnZWJydWlrZXIiO3M6NToiTGFiZWwiO3M6NToiTGFiZWwiO3M6NDoiTGluayI7czo0OiJMaW5rIjtzOjI2OiJMaW5rIG9wZW5zIGluIGEgbmV3IHdpbmRvdyI7czozMToiTGluayBvcGVudCBpbiBlZW4gbmlldXcgdmVuc3RlciI7czo0OiJMb29wIjtzOjEzOiJMb29wL2hlcmhhbGVuIjtzOjg3OiJMb3dlcmNhc2UgYW5kIHVwcGVyY2FzZSBsZXR0ZXJzIG9ubHksIHdpdGggYSBtaW5pbXVtIG9mICVzIGFuZCBtYXhpbXVtIG9mICVzIGNoYXJhY3RlcnMiO3M6MTA1OiJFbmtlbCBrbGVpbmUgbGV0dGVycywgaG9vZmRsZXR0ZXJzIGVuIHVuZGVyc2NvcmVzLCBtZXQgZWVuIG1pbWludW0gdmFuICVzIGVuIGVlbiBtYXhpbXVtIHZhbiAlcyBrYXJha3RlcnMiO3M6MTExOiJMb3dlcmNhc2UgbGV0dGVycyBhbmQgdW5kZXJzY29yZXMgb25seSAod2l0aG91dCBzdGFydGluZy9lbmRpbmcgd2l0aCB1bmRlcnNjb3JlcykgYW5kIGEgbWluaW11bSBvZiAzIGNoYXJhY3RlcnMiO3M6MTExOiJFbmtlbCBrbGVpbmUgbGV0dGVycyBlbiB1bmRlcnNjb3JlcyAoem9uZGVyIGJlZ2lubmVuZC9laW5kaWdlbmQgbWV0IHVuZGVyc2NvcmVzKSBlbiBlZW4gbWluaW11bSB2YW4gMyBrYXJha3RlcnMiO3M6ODY6Ikxvd2VyY2FzZSBsZXR0ZXJzIGFuZCB1bmRlcnNjb3JlcyBvbmx5LiBDaG9vc2UgZnJvbSAlcyBvciBvbmUgb2YgeW91ciBvd24gc2V0IGhhbmRsZXMuIjtzOjk1OiJFbmtlbCBrbGVpbmUgbGV0dGVycyBlbiB1bmRlcnNjb3Jlcy4gS2llcyB1aXQgJXMgb2YgZWVuIHZhbiB1dyBlaWdlbiBibG9rIHR5cGUgZ3JvZXAgaGFuZHZhdGVuLiI7czoyOToiTWFrZSBhIHRodW1ibmFpbCBvZiB0aGUgaW1hZ2UiO3M6MzY6Ik1hYWsgZWVuIG1pbmlhdHV1ciB2YW4gZGUgYWZiZWVsZGluZyI7czoxNToiTWFrZSB0aGUgYmxvY2shIjtzOjE0OiJNYWFrIGhldCBibG9rISI7czoxODoiTWF4IFNlbGVjdGlvbiBTaXplIjtzOjI0OiJNYXhpbWFsZSBzZWxlY3RpZSBhYW50YWwiO3M6MTI6Ik1heGltdW0gZGF0ZSI7czoxMzoiTWF4aW11bSBkYXR1bSI7czoxNDoiTWF4aW11bSBudW1iZXIiO3M6MTQ6Ik1heGltYWFsIGdldGFsIjtzOjI4OiJNYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIjtzOjI1OiJNYXhpbWFhbCBhYW50YWwga2FyYWt0ZXJzIjtzOjE0OiJNYXhpbXVtIHN0YWNrcyI7czoxNToiTWF4aW11bSBzdGFwZWxzIjtzOjEyOiJNaW5pbXVtIGRhdGUiO3M6MTM6Ik1pbmltdW0gZGF0dW0iO3M6MTQ6Ik1pbmltdW0gbnVtYmVyIjtzOjE0OiJNaW5pbWFhbCBnZXRhbCI7czoxNDoiTWluaW11bSBzdGFja3MiO3M6MTU6Ik1pbmltdW0gc3RhcGVscyI7czoxNToiTWludXRlIHN0ZXBwaW5nIjtzOjE0OiJNaW51dXQgc3RhcHBlbiI7czoxMzoiTXkgQmxvY2sgTmFtZSI7czoxNDoiTWlqbiBibG9rIG5hYW0iO3M6NDoiTmFtZSI7czo0OiJOYWFtIjtzOjI0OiJOYW1lIChGYWxscyBiYWNrIHRvIGhleCkiO3M6MjY6Ik5hYW0gKHZhbHQgdGVydWcgbmFhciBoZXgpIjtzOjU6Ik5hbWVkIjtzOjc6IkJlbm9lbWQiO3M6MjI6Ik5ldyBsaW5lIHRvIGJsYW5rIHJ1bGUiO3M6MzQ6Ik5pZXV3ZSByZWdlbCBuYWFyIHdpdHJlZ2VsIChubDJicikiO3M6MjoiTm8iO3M6MzoiTmVlIjtzOjQ4OiJObyAlcyBmb3IgdGhlIGltYWdlIG9uIHJvdyAjJXMgaGFzIGJlZW4gZW50ZXJlZC4iO3M6NTE6IkdlZW4gJXMgdm9vciBkZSBhZmJlZWxkaW5nIG9wIHJpaiAjJXMgaXMgaW5nZXZvZXJkLiI7czoxNzoiTm8gQ29sb3IgU2VsZWN0ZWQiO3M6MjM6IkdlZW4ga2xldXIgZ2VzZWxlY3RlZXJkIjtzOjQzOiJObyBzZWxlY3QgY2hvaWNlcyB3ZXJlIGVudGVyZWQgZm9yIHJvdyAjJXMuIjtzOjQ4OiJHZWVuIHNlbGVjdCBrZXV6ZXMgemlqbiBpbmdldm9lcmQgdm9vciByaWogIyUgcy4iO3M6NDoiTm9uZSI7czo0OiJHZWVuIjtzOjIzOiJOb25lIChEZXBlbmRzIG9uIGlucHV0KSI7czozNjoiR2VlbiAoaGFuZ3QgYWYgdmFuIGluZ2V2dWxkZSB3YWFyZGUpIjtzOjEzOiJOb3QgSW5zdGFsbGVkIjtzOjE5OiJOaWV0IGdlw69uc3RhbGxlZXJkIjtzOjY6Ik51bWJlciI7czo2OiJOdW1tZXIiO3M6MTM6Ik51bWJlciBmb3JtYXQiO3M6MTI6IkdldGFsbm90YXRpZSI7czo1MzoiT25lIG9yIG11bHRpcGxlIGZpZWxkcyBhcmUgcmVxdWlyZWQgdG8gYnVpbGQgYSBibG9jay4iO3M6NjU6IkVlbiBvZiBtZWVyZGVyZSB2ZWxkZW4gemlqbiB2ZXJwbGljaHQgb20gZWVuIGJsb2sgdHlwZSB0ZSBib3V3ZW4uIjtzOjQyOiJPbmx5IG91dHB1dCB0aGUgc291cmNlIChwYXRoKSBvZiB0aGUgaW1hZ2UiO3M6NDQ6IkFsbGVlbiBkZSBicm9uIChwYWQpIHZhbiBkZSBhZmJlZWxkaW5nIHRvbmVuIjtzOjE1NjoiT3JkZXIgeW91ciBibG9ja3MgZm9yIGVhY2ggYmxvY2sgdHlwZSBzZXQuIFRoZSBvcmRlciBpbiB3aGljaCB5b3UgYXJyYW5nZSBibG9ja3MgaXMgaW4gd2hpY2ggb3JkZXIgdGhleSB3aWxsIHNob3cgdXAgd2hpbGUgZHJhZ2dpbmcgYmxvY2tzIG9uIHRoZSBmcm9udCBlbmQuIjtzOjE4MzoiT3JkZW4gdXcgYmxvayB0eXBlcyB2b29yIGVsayBibG9rIHR5cGUgZ3JvZXAuIERlIHZvbGdvcmRlIHdhYXJpbiB1IGRlIGJsb2sgdHlwZXMgcGxhYXRzdCwgaXMgZGUgdm9sZ29yZGUgZGllIGdldG9vbmQgd29yZCB3YW5uZWVyIHUgYmxvayB0eXBlcyB0b2V2b2VndCBhYW4gZGUgdm9vcmthbnQgdmFuIGRlIHdlYnNpdGUuIjtzOjU6Ik90aGVyIjtzOjY6IkFuZGVycyI7czo0OiJQYWdlIjtzOjY6IlBhZ2luYSI7czoxNToiUGFsZXR0ZSBPcHRpb25zIjtzOjEyOiJQYWxldCBvcHRpZXMiO3M6MTI6IlBhbGV0dGUgUm93cyI7czoxMToiUGFsZXQgcmlqZW4iO3M6MTE6IlBsYWNlaG9sZGVyIjtzOjExOiJQbGFjZWhvbGRlciI7czozNzoiUG9zaXRpb25lZCBhcyBhbiBpbmxpbmUtYmxvY2sgZWxlbWVudCI7czo0NToiR2Vwb3NpdGlvbmVlcmQgYWxzIGVlbiAnaW5saW5lLWJsb2NrJyBlbGVtZW50IjtzOjExNDoiUG9zaXRpb25lZCBiZWxvdyB0aGUgY29sb3JwaWNrZXIgdG8gbWFrZSBpdCBjb252ZW5pZW50IGZvciB1c2VycyB0byBjaG9vc2UgZnJvbSBmcmVxdWVudGx5IG9yIHJlY2VudGx5IHVzZWQgY29sb3JzIjtzOjEyNToiR2Vwb3NpdGlvbmVlcmQgb25kZXIgZGUgY29sb3JwaWNrZXIsIG9tIGhldCBoYW5kaWcgdGUgbWFrZW4gdm9vciBnZWJydWlrZXJzIG9tIHRlIGtpZXplbiB1aXQgdmFhayBvZiByZWNlbnQgZ2VicnVpa3RlIGtsZXVyZW4iO3M6MTY6IlByZWZlcnJlZCBGb3JtYXQiO3M6MTU6Ikdld2Vuc3RlIGZvcm1hdCI7czo0NjoiUHJldmVudHMgdGhlIGZ1bGxzY3JlZW4gYnV0dG9uIGZyb20gZGlzcGxheWluZyI7czo0OToiVm9vcmtvbXQgZGF0IGRlIHZvbGxlZGlnIHNjaGVybS1rbm9wIHppY2h0YmFhciBpcyI7czoyMToiUmVxdWlyZWQgdGl0bGUgZmllbGQ/IjtzOjIxOiJWZXJwbGljaHQgdGl0ZWwgdmVsZD8iO3M6OToiUmVxdWlyZWQ/IjtzOjEwOiJWZXJwbGljaHQ/IjtzOjE2OiJSZXNwb25zaXZlIGltYWdlIjtzOjIxOiJSZXNwb25zaXZlIGFmYmVlbGRpbmciO3M6Njk6IlJldHVybnMgZW50ZXJlZCBzdHJpbmcgd2l0aCAnJXMnIG9yICclcycgaW5zZXJ0ZWQgYmVmb3JlIGFsbCBuZXdsaW5lcyI7czo4MDoiWmFsIGluZ2V2b2VyZGUgc3RyaW5nIG1ldCAnJXMnIG9mICclcycgdm9vcnppZW4sIHZvb3IgYWxsZSBuaWV1dyBiZWdvbm5lbiByZWdlbHMiO3M6MzoiUmdiIjtzOjM6IlJnYiI7czo0OiJSZ2JhIjtzOjQ6IlJnYmEiO3M6MzoiUm93IjtzOjM6IlJpaiI7czo0OiJTYXZlIjtzOjc6Ik9wc2xhYW4iO3M6NDc6IlNhdmUgc2VsZWN0aW9uIGluIGJyb3dzZXIncyBsb2NhbFN0b3JhZ2Ugb2JqZWN0IjtzOjU2OiJTbGEgc2VsZWN0aWUgaW4gZGUgYnJvd3NlciB6aWpuICdsb2NhbFN0b3JhZ2Ugb2JqZWN0JyBvcCI7czoxMzoiU2Nyb2xsIFRvIFRvcCI7czoxNzoiU2Nyb2xsIG5hYXIgYm92ZW4iO3M6Mjk6IlNlbGVjdCBjaG9pY2VzIChvbmUgcGVyIGxpbmUpIjtzOjI5OiJTZWxlY3Qga2V1emVzIChlZW4gcGVyIHJlZ2VsKSI7czo5ODoiU2V0IHlvdXIgb3duIGFycmF5IGtleSBmb3IgdmFsdWVzLCBieSB1c2luZyAyIGNvbG9ucyAoJyA6OiAnKSBvbiBlYWNoIGxpbmUgLSBleHRyYSBzcGFjZXMgcmVxdWlyZWQiO3M6MTIyOiJaZXQgdXcgZWlnZW4gYXJyYXkga2V5IHZvb3Igd2FhcmRlcywgZG9vciAyIG1hYWwgZHViYmVsZSBwdW50ICgnIDo6ICcpIG9wIGVsa2UgcmVnZWwgdGUgcGxhYXRzZW4gLSBleHRyYSBzcGF0aWVzIHZlcnBsaWNodCI7czozNDoiU2V0cyB0aGUgbnVtYmVyIG9mIGRlY2ltYWwgcG9pbnRzLiI7czoyNToiWmV0IGhldCBhYW50YWwgZGVjaW1hbGVuLiI7czo0MToiU2V0cyB0aGUgc2VwYXJhdG9yIGZvciB0aGUgZGVjaW1hbCBwb2ludC4iO3M6NDc6IlpldCBoZXQgc2NoZWRpbmdzdGVrZW4gdm9vciBoZXQgZGVjaW1hYWwgZ2V0YWwuIjtzOjI5OiJTZXRzIHRoZSB0aG91c2FuZHMgc2VwYXJhdG9yLiI7czo0MzoiWmV0IGhldCB0ZWtlbiBvbSBkdWl6ZW5kdGFsbGVuIHRlIHNjaGVpZGVuLiI7czoxNToiU2V0dGluZ3Mgc2F2ZWQuIjtzOjI0OiJJbnN0ZWxsaW5nZW4gb3BnZXNsYWdlbi4iO3M6NTk6IlNob3cgYSBidXR0b24gdG8gdG9nZ2xlIHRoZSBjb2xvcnBpY2tlciBuZXh0IHRvIHRoZSBwYWxldHRlIjtzOjU2OiJUb29uIGVlbiBrbm9wIG9tIGRlIGNvbG9ycGlja2VyIG5hYXN0IGhldCBwYWxldCB0ZSB0b25lbiI7czoxNDoiU2hvdyBhIHBhbGV0dGUiO3M6MTQ6IlRvb24gZWVuIHBhbGV0IjtzOjEyOiJTaG93IGJ1dHRvbnMiO3M6MTI6IlRvb24ga25vcHBlbiI7czo3MzoiU2hvdyBjbG9zZWQgY2FwdGlvbnMgYnkgZGVmYXVsdCwgZXZlbiBpZiB0aGUgdXNlciBoYXMgdHVybmVkIGNhcHRpb25zIG9mZiI7czo5MzoiVG9vbiBnZXNsb3RlbiBiaWpzY2hyaWZ0ZW4gc3RhbmRhYXJkLCB6ZWxmcyBhbHMgZGUgZ2VicnVpa2VyIGJpanNjaHJpZnRlbiBoZWVmdCB1aXRnZXNjaGFrZWxkIjtzOjEwOiJTaG93IGlucHV0IjtzOjE1OiJUb29uIGludm9lcnZlbGQiO3M6NTA6IlNob3cgdGhlIGNvbG9yIHRoYXQgd2FzIGluaXRpYWxseSBzZXQgd2hlbiBvcGVuaW5nIjtzOjUxOiJUb29uIGRlIGtsZXVyIGRpZSBpbml0aWVlbCB3YXMgZ2V6ZXQgYmlqIGhldCBvcGVuZW4iO3M6NDI6IlNob3cgdGhlIGRhdGUgYW5kIHRpbWUgcGlja2VyIHNpZGUgYnkgc2lkZSI7czo0MToiVG9vbiBkZSBkYXR1bSAtZW4gdGlqZCBraWV6ZXIgemlqIGFhbiB6aWoiO3M6NDc6IlNob3cgdGhlIHBhbGV0dGVzIHlvdSBzcGVjaWZ5LCBhbmQgbm90aGluZyBlbHNlIjtzOjU1OiJUb29uIGRlIHBhbGV0dGVuIGRpZSB1IGhlZWZ0IG9wZ2VnZXZlbiwgZW4gbmlldHMgYW5kZXJzIjtzOjE2OiJTaG93IHRpdGxlIGZpZWxkIjtzOjE1OiJUb29uIHRpdGVsIHZlbGQiO3M6Nzg6IlNraXAgY29udmVydGluZyBzcGVjaWFsIGNoYXJhY3RlcnMgdG8gSFRNTCBlbnRpdGllcyAoY29uY3JldGU1J3MgJ2gnIGZ1bmN0aW9uKSI7czo5ODoiU2xhIGhldCBjb252ZXJ0ZXJlbiB2YW4gc3BlY2lhbGUga2FyYWt0ZXJzIG5hYXIgSFRNTC1lbnRpdGVpdGVuIG92ZXIgKGNvbmNyZXRlNSB6aWpuICdoJyBmdW5jdGllKSAiO3M6NDoiU2x1ZyI7czo0OiJTbHVnIjtzOjU6IlN0YXJ0IjtzOjU6IlN0YXJ0IjtzOjExOiJTdGF0aWMgSFRNTCI7czoxNDoiU3RhdGlzY2hlIEhUTUwiO3M6MTI6IlRhYmxlIHByZWZpeCI7czoxNzoiVGFiZWwgdm9vcnZvZWdzZWwiO3M6MTY6IlRlc3QgdGhlIGV4YW1wbGUiO3M6MTg6IlRlc3QgaGV0IHZvb3JiZWVsZCI7czo4OiJUZXh0IEJveCI7czo4OiJUZWtzdHZhayI7czo4ODoiVGhlICVzIGZvciB0aGUgaW1hZ2Ugb24gcm93ICMlcyBoYXMgdG8gYmUgYSBudW1lcmljIHZhbHVlIChmbG9hdGluZyBudW1iZXJzIGRpc2FsbG93ZWQpLiI7czoxMDM6IkRlICVzIHZvb3IgZGUgYWZiZWVsZGluZyBvcCByaWogIyVzIG1vZXQgZWVuIG51bWVyaWVrZSB3YWFyZGUgemlqbiAoZGVjaW1hbGUgZ2V0YWxsZW4gbmlldCB0b2VnZXN0YWFuKS4iO3M6NTY6IlRoZSAlcyBmb3IgdGhlIGltYWdlIG9uIHJvdyAjJXMgaGFzIHRvIGJlIGhpZ2hlciB0aGFuIDAuIjtzOjU5OiJEZSAlcyB2b29yIGRlIGFmYmVlbGRpbmcgb3AgcmlqICMlcyBtb2V0IGdyb3RlciB6aWpuIGRhbiAwLiI7czozODoiVGhlIGJsb2NrIHR5cGUgZG9lcyBub3Qgc2VlbSB0byBleGlzdC4iO3M6MzY6IkhldCBibG9rIHR5cGUgbGlqa3QgbmlldCB0ZSBiZXN0YWFuLiI7czo2MToiVGhlIGJsb2NrIHR5cGUgZG9lcyBub3Qgc2VlbSB0byBoYXZlIGFuIGV4aXN0aW5nIGNvbmZpZyBmaWxlLiI7czo2NToiSGV0IGJsb2sgdHlwZSBsaWprdCBnZWVuIGJlc3RhYW5kIGNvbmZpZ3VyYXRpZSBiZXN0YW5kIHRlIGhlYmJlbi4iO3M6NTI6IlRoZSBkYXRlIGZvcm1hdCBmaWVsZCBmb3IgJyVzJyAocm93ICMlcykgaXMgcmVxdWlyZWQiO3M6NTQ6IkhldCBkYXR1bW5vdGF0aWUgdmVsZCB2b29yICclcycgKHJvdyAjJXMpIGlzIHZlcnBsaWNodCI7czo5NToiVGhlIGVtYWlsIHN1YmplY3Qgd2hlbiBzZW5kaW5nIHRoZSBlbWFpbCAoc29tZSBhcHBsaWNhdGlvbnMvZW1haWwgY2xpZW50cyBtYXkgbm90IHN1cHBvcnQgdGhpcykiO3M6MTE5OiJIZXQgZW1haWwgb25kZXJ3ZXJwIHdhbm5lZXIgZGUgZW1haWwgdmVyc3R1dXJkIHdvcmR0IChzb21taWdlIHRvZXBhc3Npbmdlbi9lLW1haWwgY2xpZW50cyB6dWxsZW4gZGl0IG5pZXQgb25kZXJzdGV1bmVuKSI7czoxNjE6IlRoZSBlbnRlcmVkIGRlc2NyaXB0aW9uIHdpbGwgYmUgc2hvd24gd2l0aCB0aGUgdmVyeSBzYW1lIHF1ZXN0aW9uIG1hcmssIG5leHQgdG8gdGhlIGVudGVyZWQgbGFiZWwuIFVzZXJzIGhhdmUgdG8gaG92ZXIgdGhlIHF1ZXN0aW9uIG1hcmsgdG8gc2hvdyB0aGUgZGVzY3JpcHRpb24uIjtzOjE4OToiRGUgaW5nZXZ1bGRlIG9tc2NocmlqdmluZyB6YWwgd29yZGVuIGdldG9vbmQgbWV0IGV4YWN0IGhldHplbGZkZSB2cmFhZ3Rla2VuLCBuYWFzdCBoZXQgaW5nZXZ1bGRlIGxhYmVsLiBHZWJydWlrZXJzIG1vZXRlbiBvdmVyIGhldCB2cmFhZ3Rla2VuIGJld2VnZW4gbWV0IGRlIG11aXMgb20gZGUgb21zY2hyaWp2aW5nIHRlIHppZW4uIjtzOjMyOiJUaGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIG51bWJlciI7czozMToiRGUgbWF4aW11bSBsZW5ndGUgdmFuIGhldCBnZXRhbCI7czoyMjoiVGhlIHZpZGVvIHByb2dyZXNzIGJhciI7czoyMzoiRGUgdmlkZW8gdm9vcnRnYW5nc2JhbGsiO3M6NToiVGhlbWUiO3M6NToiVGhlbWEiO3M6Njc6IlRoZXJlIGFyZSBjdXJyZW50bHkgbm8gYmxvY2tzIGF2YWlsYWJsZSB3aXRoIGxvYWRhYmxlIGNvbmZpZyBmaWxlcy4iO3M6ODQ6IkVyIHppam4gbW9tZW50ZWVsIGdlZW4gYmxvayB0eXBlcyBiZXNjaGlrYmFhciBtZXQgaW4gdGUgbGFkZW4gY29uZmlndXJhdGllIGJlc3RhbmRlbiI7czoxMDQ6IlRoZXJlIGFyZSBubyBmaWVsZCB0eXBlcyAoeWV0KS4gUGxlYXNlIHVwZGF0ZSB5b3VyIHBhY2thZ2Ugb3IgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj5nZXQgaGVscDwvYT4uIjtzOjEwNzoiRXIgemlqbiAobm9nKSBnZWVuIHZlbGQgdHlwZXMuIFVwZGF0ZSB1dyBleHRlbnNpZSBhLnUuYi4gb2YgPGEgaHJlZj0iJXMiIHRhcmdldD0iX2JsYW5rIj52ZXJrcmlqZyBodWxwPC9hPi4iO3M6ODk6IlRoZXJlIGFyZSBubyBmaWVsZHMgYWRkZWQgeWV0LiBTdGFydCBhZGRpbmcgb25lIGJ5IGNsaWNraW5nIG9uZSBvZiB0aGUgZmllbGQgdHlwZXMgYmVsb3cuIjtzOjExNDoiRXIgemlqbiBub2cgZ2VlbiB2ZWxkZW4gdG9lZ2V2b2VnZC4gQmVnaW4gbWV0IGhldCB0b2V2b2VnZW4gZG9vciB0ZSBrbGlra2VuIG9wIGVlbiB2YW4gZGUgdmVsZCB0eXBlcyBoaWVyIGJlbmVkZW4uIjtzOjYxOiJUaGVyZSB3YXMgbm8gYmxvY2sgaGFuZGxlIGZvdW5kLiBQbGVhc2UgZW50ZXIgYSBibG9jayBoYW5kbGUuIjtzOjc3OiJFciB3ZXJkIGdlZW4gYmxvayB0eXBlIGhhbmR2YXQgZ2V2b25kZW4uIFZ1bCBhLnUuYi4gZWVuIGJsb2sgdHlwZSBoYW5kdmF0IGluLiI7czo1NDoiVGhlcmUgd2FzIG5vIHNsdWcgZm91bmQgZm9yIHJvdyAjJXMuIFBsZWFzZSB0cnkgYWdhaW4uIjtzOjY4OiJFciB3ZXJkIGdlZW4gc2x1ZyBnZXZvbmRlbiB2b29yIHJpaiAjJXMuIFByb2JlZXIgaGV0IGEudS5iLiBvcG5pZXV3LiI7czo2NToiVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBlbnRlciBIVE1MIGNoYXJhY3RlcnMgaW4geW91ciB0ZXh0IGFyZWEiO3M6NzI6IkRpdCBtYWFrdCBoZXQgbW9nZWxpamsgb20gSFRNTCBrYXJha3RlcnMgaW4gamUgdGVrc3RnZWJpZWQgdGUgZ2VicnVpa2VuICI7czo2NDoiVGhpcyBuYW1lIHdpbGwgYmUgdXNlZCBpbiB0aGUgdmlldyBmaWxlIChhLXpBLVogY2hhcmFjdGVycyBvbmx5KSI7czo2OToiRGV6ZSBuYWFtIHdvcmR0IGdlYnJ1aWt0IGluIGhldCB2aWV3IGJlc3RhbmQgKGVua2VsIGEtekEtWiBrYXJha3RlcnMpIjtzOjExODoiVGhpcyBwYXJhbWV0ZXIgY2F1c2VzIHRoZSBwbGF5ZXIgdG8gYmVnaW4gcGxheWluZyB0aGUgdmlkZW8gYXQgdGhlIGdpdmVuIG51bWJlciBvZiBzZWNvbmRzIGZyb20gdGhlIHN0YXJ0IG9mIHRoZSB2aWRlbyI7czoxMjk6IkRlemUgcGFyYW1ldGVyIHpvcmd0IGVydm9vciBkYXQgZGUgdmlkZW9zcGVsZXIgZGUgdmlkZW8gZ2FhdCBhZnNwZWxlbiBvcCBoZXQgZ2VnZXZlbiBhYW50YWwgc2Vjb25kZW4gdmFuYWYgaGV0IGJlZ2luIHZhbiBkZSB2aWRlbyI7czoxMTk6IlRoaXMgc3BlY2lmaWVzIHRoZSB0aW1lLCBtZWFzdXJlZCBpbiBzZWNvbmRzIGZyb20gdGhlIHN0YXJ0IG9mIHRoZSB2aWRlbywgd2hlbiB0aGUgcGxheWVyIHNob3VsZCBzdG9wIHBsYXlpbmcgdGhlIHZpZGVvIjtzOjEzNDoiRGl0IHNwZWNpZmljZWVydCBkZSB0aWpkLCBnZW1ldGVuIGluIHNlY29uZGUgdmFuYWYgZGUgc3RhcnQgdmFuIGRlIHZpZGVvLCB3YW5uZWVyIGRlIHBsYXllciBtb2V0IHN0b3BwZW4gbWV0IGhldCBhZnNwZWxlbiB2YW4gZGUgdmlkZW8iO3M6MTI4OiJUaGlzIHdpbGwgb25seSBoaWRlIHRoZW0gZnJvbSB0aGUgJ0FkZCBhIGZpZWxkJyBsaXN0LCB5b3Ugd2lsbCBzdGlsbCBiZSBhYmxlIHRvIGxvYWQgY29uZmlndXJhdGlvbnMgd2l0aCB0aGUgaGlkZGVuIGZpZWxkIHR5cGVzLiI7czoxNDQ6IkRpdCB6YWwgemUgYWxsZWVuIHZlcmJlcmdlbiB2YW4gZGUgJ0VlbiB2ZWxkIHRvZXZvZWdlbicgbGlqc3QsIGhldCBpcyBub2cgc3RlZWRzIG1vZ2VsaWprIG9tIGNvbmZpZ3VyYXRpZXMgdGUgbGFkZW4gbWV0IGRlIHZlcmJvcmdlbiB2ZWxkIHR5cGVzLiI7czoxOToiVGhvdXNhbmRzIHNlcGFyYXRvciI7czoxNjoiRHVpemVuZHRhbCB0ZWtlbiI7czoxNjoiVGh1bWJuYWlsIGhhbmRsZSI7czoxNzoiVGh1bWJuYWlsIGhhbmR2YXQiO3M6MTA6IlRodW1ibmFpbHMiO3M6MTA6IlRodW1ibmFpbHMiO3M6MjA6IlRpdGxlIGZhbGxiYWNrIHZhbHVlIjtzOjIxOiJUaXRlbCB0ZXJ1Z3ZhbCB3YWFyZGUiO3M6MTc6IlRpdGxlIHBsYWNlaG9sZGVyIjtzOjE3OiJUaXRlbCBwbGFjZWhvbGRlciI7czoxMjA6IlRvIGNoYW5nZSB0aGUgb3JkZXIgb2YgQmxvY2sgVHlwZSBTZXRzLCBzdGFydCBieSBkcmFnZ2luZyB0aGUgbmFtZSBvZiB0aGUgQmxvY2sgVHlwZSBTZXQgdG8gdGhlIHBvc2l0aW9uIHlvdSB3b3VsZCBsaWtlLiI7czoxMjY6Ik9tIGRlIHZvbGdvcmRlIHZhbiBibG9rIHR5cGUgZ3JvZXBlbiB0ZSB3aWp6aWdlbiwgYmVnaW4gbWV0IGhldCBzbGVwZW4gdmFuIGRlIG5hYW0gdmFuIGhldCBibG9rIHR5cGUgbmFhciBkZSBnZXdlbnN0ZSBwb3NpdGllLiI7czoyNjoiVG9nZ2xlIFBhbGV0dGUgJ2xlc3MnIHRleHQiO3M6MjA6IlBhbGV0ICdtaW5kZXInIHRla3N0IjtzOjI2OiJUb2dnbGUgUGFsZXR0ZSAnbW9yZScgdGV4dCI7czoxODoiUGFsZXQgJ21lZXInIHRla3N0IjtzOjQ6IlR5cGUiO3M6NDoiVHlwZSI7czozOiJVUkwiO3M6MzoiVVJMIjtzOjM0OiJVc2UgJ3N0cmljdCcgd2hlbiB2YWxpZGF0aW5nIGRhdGVzIjtzOjQzOiJHZWJydWlrICdzdHJpY3QnIGJpaiBoZXQgdmFsaWRlcmVuIHZhbiBkYXRhIjtzOjM2OiJVc2UgYSBkb3QgKC4pIGFzIGEgZGVjaW1hbCBzZXBhcmF0b3IiO3M6NDU6IkdlYnJ1aWsgZWVuIHB1bnQgKC4pIG9tIGRlY2ltYWxlbiB0ZSBzY2hlaWRlbiI7czo2NjoiVXNlIGNvbmNyZXRlNSdzIHRyYW5zbGF0ZSBmdW5jdGlvbiBmb3IgYWxsIHNlbGVjdCBjaG9pY2VzICh2YWx1ZXMpIjtzOjY5OiJHZWJydWlrIGNvbmNyZXRlNSdzIHZlcnRhYWwgZnVuY3RpZSB2b29yIGFsbGUgc2VsZWN0IGtldXplcyAod2FhcmRlcykiO3M6NDg6IlVzZSBkb3dubG9hZCBsaW5rLCBpbnN0ZWFkIG9mIHJlbGF0aXZlIHBhdGggbGluayI7czo1NDoiR2VicnVpayBkb3dubG9hZCBsaW5rLCBpbiBwbGFhdHMgdmFuIHJlbGF0aWVmIHBhZCBsaW5rIjtzOjQ5OiJVc2VzIENvbmNyZXRlNSBpbWFnZSBoZWxwZXIsIHRvIG91dHB1dCB0aGUgaW1hZ2UuIjtzOjY1OiJHZWJydWlrIGRlIGNvbmNyZXRlNSBhZmJlZWxkaW5nLWhlbHBlciwgb20gZGUgYWZiZWVsZGluZyB0ZSB0b25lbiI7czozODoiVXNlcyBhbiBpbnB1dCBib3ggd2l0aCB0aGUgY29sb3IgdmFsdWUiO3M6NDE6IkdlYnJ1aWsgZWVuIGludm9lcnZlbGQgbWV0IGRlIGtsZXVyd2FhcmRlIjtzOjU6IlZhbHVlIjtzOjY6IldhYXJkZSI7czo0NjoiVmFsdWUgY2FuIGJlIGNsZWFyZWQgYnkgY2xpY2tpbmcgYSAnJXMnIGJ1dHRvbiI7czo1MzoiV2FhcmRlIGthbiB3b3JkZW4gZ2V3aXN0IGRvb3IgdGUga2xpa2tlbiBvcCAnJXMnIGtub3AiO3M6NjA6IlZhbHVlIHdpdGhvdXQgYSBrZXksIHRoaXMgd2lsbCBiZSBhc3NpZ25lZCBieSB0aGUgZmllbGQgdHlwZSI7czo2ODoiV2FhcmRlIHpvbmRlciBrZXksIGRlemUgemFsIHdvcmRlbiB0b2VnZWtlbmQgZG9vciBoZXQgdmVsZCB0eXBlIHplbGYiO3M6NzoiVmVyc2lvbiI7czo2OiJWZXJzaWUiO3M6NDQ6IlZpZGVvIGFubm90YXRpb25zIHRvIGJlIG5vdCBzaG93biBieSBkZWZhdWx0IjtzOjM2OiJWaWRlb2Fubm90YXRpZXMgbmlldCBzdGFuZGFhcmQgdG9uZW4iO3M6MTA6IlZpZGVvIHNpemUiO3M6MTk6IlZpZGVvc3BlbGVyIGdyb290dGUiO3M6ODoiVmlldyBDU1MiO3M6ODoiVmlldyBDU1MiO3M6MTU6IlZpZXcgSmF2YVNjcmlwdCI7czoxNToiVmlldyBKYXZhU2NyaXB0IjtzOjM2OiJWaWV3IGRhdGV0aW1lcGlja2VyIG9wdGlvbnMvZGVmYXVsdHMiO3M6NDY6IkJla2lqayBkYXRldGltZXBpY2tlciBvcHRpZXMvc3RhbmRhYXJkIHdhYXJkZXMiO3M6MTE6IlZpZXcgb3V0cHV0IjtzOjExOiJWaWV3IG91dHB1dCI7czo3OiJXWVNJV1lHIjtzOjc6IldZU0lXWUciO3M6MTIyOiJXaGVuIGNsaWNraW5nIG91dHNpZGUgb2YgdGhlIGNvbG9ycGlja2VyLCB5b3UgY2FuIGZvcmNlIGl0IHRvIGZpcmUgYSBjaGFuZ2UgZXZlbnQgcmF0aGVyIHRoYW4gaGF2aW5nIGl0IHJldmVydCB0aGUgY2hhbmdlLiI7czoxNDg6Ildhbm5lZXIgYnVpdGVuIGRlIGNvbG9ycGlja2VyIHdvcmR0IGdlbGlrdCwga3VudCB1IGhldCBmb3JjZXJlbiBvbSBlZW4gYGNoYW5nZWAgZXZlbnQgdGUgYWN0aWV2ZXJlbiwgaW4gcGxhYXRzIHZhbiBoZXQgdGVydWd6ZXR0ZW4gdmFuIGRlIHdpanppZ2luZy4iO3M6NToiV2lkdGgiO3M6NzoiQnJlZWR0ZSI7czoxMzM6IldpZHRoIGFuZCBoZWlnaHQgYXJlIHJlcXVpcmVkIHVwb24gbWFraW5nIHRoZSBpbWFnZSBhIHRodW1ibmFpbC4gQm90aCB2YWx1ZXMgYXJlIGJlaW5nIGVudGVyZWQgaW4gd2hvbGUgcGl4ZWxzIChubyBkZWNpbWFscyBhbGxvd2VkKS4iO3M6MTY3OiJCcmVlZHRlIGVuIGhvb2d0ZSB6aWpuIHZlcnBsaWNodCBiaWogaGV0IG1ha2VuIHZhbiBlZW4gbWluaWF0dXVyIHZhbiBkZSBhZmJlZWxkaW5nLiBCZWlkZSB3YWFyZGVzIHp1bGxlbiB3b3JkZW4gaW5nZXZ1bGQgbWV0IGdlaGVsZSBwaXhlbHMgKGdlZW4gZGVjaW1hbGVuIHRvZWdlc3RhYW4pLiI7czoxODoiV3JhcHBlciBIVE1MIGNsb3NlIjtzOjIwOiJXcmFwcGVyIEhUTUwgc2x1aXRlbiI7czoxNzoiV3JhcHBlciBIVE1MIG9wZW4iO3M6MTk6IldyYXBwZXIgSFRNTCBvcGVuZW4iO3M6MzoiWWVzIjtzOjI6IkphIjtzOjEwMToiWW91IGNhbiBlbnRlciBIZXgsIEhzbCwgUmdiLCBSZ2JhICh3aXRoIGFscGhhKSBvciBOYW1lZCBjb2xvciB2YWx1ZXMuIFNlZSB0aGUgbGlzdCBiZWxvdyBmb3IgZXhhbXBsZXMiO3M6MTE5OiJVIGt1bnQgSGV4LCBIc2wsIFJnYiwgUmdiYSAobWV0IGFscGhhKSBvZiBiZW5vZW1kZSBrbGV1cndhYXJkZXMgaW52dWxsZW4uIEJla2lqayBkZSBsaWpzdCBoaWVyb25kZXIgdm9vciBkZSB2b29yYmVlbGRlbiI7czo4OToiWW91IGNhbiBub3QgZW50ZXIgZmxvYXRpbmcgbnVtYmVycyBvbiB0aGUgZmllbGRzIGFib3ZlLCBhcyB0aGUgYm94ICclcycgaGFzIGJlZW4gY2hlY2tlZC4iO3M6OTc6IlUga3VudCBnZWVuIGRlY2ltYWxlIGdldGFsbGVuIGluIGRlIHZlbGRlbiBoaWVyYm92ZW4gaW52dWxsZW4sIG9tZGF0IGhldCB2ZWxkICclcycgaXMgYWFuZ2V2aW5rdC4iO3M6Njg6IllvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGluc3RhbGwgY3VzdG9tIGJsb2NrIHR5cGVzIG9yIGFkZC1vbnMuIjtzOjc3OiJVIGhlZWZ0IGdlZW4gdG9lc3RlbW1pbmcgb20gYWFuZ2VwYXN0ZSBibG9rIHR5cGVzIG9mIGV4dGVuc2llcyB0ZSBpbnN0YWxsZXJlbiI7czo3OiJZb3VUdWJlIjtzOjc6IllvdVR1YmUiO3M6MzE6ImEteiwgZGFzaGVzIGFuZCB1bmRlcnNjb3JlIG9ubHkiO3M6MzQ6IkVua2VsIGEteiwgc3RyZWVwamVzIGVuIHVuZGVyc2NvcmUiO3M6NDoiaS5lLiI7czo1OiJiaWp2LiI7czo3OiJpLmUuICVzIjtzOjg6ImJpanYuICVzIjtzOjc1OiJpLmUuICVzIHdpbGwgZ2VuZXJhdGUgJXMgLSBtb3JlIGluZm8gb24gPGEgaHJlZj0nJXMnIHRhcmdldD0nX2JsYW5rJz4lczwvYT4iO3M6ODI6ImJpanYuICVzIHphbCAlcyBnZW5lcmVyZW4gLSBtZWVyIGluZm9ybWF0aWUgb3AgPGEgaHJlZj0nJXMnIHRhcmdldD0nX2JsYW5rJz4lczwvYT4iO3M6MTM6InJlcXVpcmVzICclcyciO3M6MTI6InZlcmVpc3QgJyVzJyI7czoxMjoiQ2FjaGUgV2FybWVyIjtzOjEyOiJDYWNoZSBXYXJtZXIiO3M6MjI6IkNhY2hlIFdhcm1lciBjb21wbGV0ZWQiO3M6MjE6IkNhY2hlIFdhcm1lciBhZmdlcm9uZCI7czozOToiQ2FjaGUgZmlsZSBjb3VsZG4ndCBiZSBjcmVhdGVkIGZvciAnJXMnIjtzOjUzOiJDYWNoZWJlc3RhbmQga29uIG5pZXQgYWFuZ2VtYWFrdCB3b3JkZW4gdm9vciDigJglc+KAmSI7czo2ODoiRHVlIHRvIGEgYnVnIGluIHRoZSBjb3JlIHRoaXMgYWRkLW9uIHdvbid0IHdvcmsgb24gUEhQIDcgYW5kIGhpZ2hlci4iO3M6Njc6IkRvb3IgZWVuIGZvdXQgaW4gZGUgY29yZSB3ZXJrdCBkZXplIGFkZC1vbiBuaWV0IG1ldCBQSFAgNyBlbiBob2dlci4iO3M6MjU6IkZpbHRlciBwYWdlcyBieSBwYWdlIHR5cGUiO3M6MzE6IkZpbHRlciBwYWdpbmHigJlzIG9wIHBhZ2luYXR5cGUiO3M6NDM6IkdlbmVyYXRlcyBjYWNoZSBmaWxlcyB0byByZWR1Y2UgbG9hZCB0aW1lcy4iO3M6NTA6IkdlbmVyZWVydCBjYWNoZWJlc3RhbmRlbiB2b29yIHNuZWxsZXJlIGxhYWR0aWpkZW4uIjtzOjMxOiJMaW1pdCBudW1iZXIgb2YgcGFnZXMgcGVyIGJhdGNoIjtzOjM4OiJCZXBlcmsgaGV0IGFhbnRhbCBwYWdpbmHigJlzIHBlciByZWVrcyI7czoxNDoiU2V0dGluZ3Mgc2F2ZWQiO3M6MjM6Ikluc3RlbGxpbmdlbiBvcGdlc2xhZ2VuIjtzOjMwOiJUaGlzIGpvYiB3b24ndCBydW4gdmlhIHRoZSBDTEkiO3M6NDQ6IkRlemUgdGFhayBrYW4gbmlldCB2aWEgQ0xJIHVpdGdldm9lcmQgd29yZGVuIjtzOjYwOiJUbyBydW4gQ2FjaGUgV2FybWVyLCBnbyB0byA8YSBocmVmPSIlcyI+QXV0b21hdGVkIFRhc2tzPC9hPi4iO3M6Nzk6Ik9tIENhY2hlIFdhcm1lciB1aXQgdGUgdm9lcmVuLCBnYSBuYWFyIDxhIGhyZWY9IiVzIj5HZWF1dG9tYXRpc2VlcmRlIHRha2VuPC9hPi4iO3M6MjU6IkRpc2FibGUgSFRNTCBtaW5pZmljYXRpb24iO3M6Mjg6IlNjaGFrZWwgSFRNTCBjb21wcmVzc2llIHVpdCAiO3M6MjQ6IkVuYWJsZSBIVE1MIG1pbmlmaWNhdGlvbiI7czoyNjoiU2NoYWtlbCBIVE1MIGNvbXByZXNzaWUgaW4iO3M6Mjc6IkVuYWJsZSBmb3IgUmVnaXN0ZXJlZCBVc2VycyI7czo0MjoiSW5zY2hha2VsZW4gdm9vciBnZXJlZ2lzdHJlZXJkZSBnZWJydWlrZXJzIjtzOjExOiJNaW5pZnkgSFRNTCI7czoxNToiQ29tcHJpbWVlciBIVE1MIjtzOjQ2OiJNaW5pZnkgSFRNTCBvdXRwdXQgdG8gZGVjcmVhc2UgcGFnZSBsb2FkIHRpbWVzIjtzOjQzOiJDb21wcmltZWVyIEhUTUwgb20gbGFhZHRpamRlbiB0ZSB2ZXJrbGVpbmVuIjtzOjMyOiJQYWdlcyB3aXRoIG1pbmlmaWNhdGlvbiBkaXNhYmxlZCI7czozOToiUGFnaW5h4oCZcyBtZXQgY29tcHJlc3NpZSB1aXRnZXNjaGFrZWxkIjt9aToyO2E6MTp7czoxMzoiACoAcGx1cmFsUnVsZSI7TzozMjoiWmVuZFxJMThuXFRyYW5zbGF0b3JcUGx1cmFsXFJ1bGUiOjI6e3M6NjoiACoAYXN0IjthOjI6e3M6MjoiaWQiO3M6MjoiIT0iO3M6OToiYXJndW1lbnRzIjthOjI6e2k6MDthOjI6e3M6MjoiaWQiO3M6MToibiI7czo5OiJhcmd1bWVudHMiO2E6MDp7fX1pOjE7YToyOntzOjI6ImlkIjtzOjY6Im51bWJlciI7czo5OiJhcmd1bWVudHMiO2E6MTp7aTowO2k6MTt9fX19czoxMzoiACoAbnVtUGx1cmFscyI7aToyO319aTozO047fQ=='));
/* Child Type: integer */
$data['createdOn'] = 1792506604;
* (c) Robert Hafner <tedivm@tedivm.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Stash\Driver\FileSystem;
use Stash\Utilities;
class NativeEncoder implements EncoderInterface
{
public function deserialize($path)
{
if (!file_exists($path)) {
return false;
}
$expiration = null;
include($path);
if (!isset($loaded)) {
return false;
}
if (!isset($data)) {
$data = null;
}
return array('data' => $data, 'expiration' => $expiration);
}
public function serialize($key, $data, $expiration = null)
{
$storeString = '<?php ' . PHP_EOL
. '/* Cachekey: ' . str_replace('*/', '', $key) . ' */' . PHP_EOL
. '/* Type: ' . gettype($data) . ' */' . PHP_EOL
. '/* Expiration: ' . (isset($expiration) ? date(DATE_W3C, $expiration) : 'none') . ' */' . PHP_EOL
. PHP_EOL
. PHP_EOL
$keyString = '';
foreach ($key as $group) {
$keyString .= $group . '/';
}
return $keyString;
}
/**
* This function retrieves the data from the file. If the file does not exist, or is currently being written to, it
* will return false. If the file is already being written to, this instance of the driver gets disabled so as not
* to have a bunch of writes get queued up when a cache item fails to hit.
*
* {@inheritdoc}
*
* @return bool
*/
public function getData($key)
{
return $this->getEncoder()->deserialize($this->makePath($key));
}
/**
* This function takes the data and stores it to the path specified. If the directory leading up to the path does
* not exist, it creates it.
*
* {@inheritdoc}
*/
public function storeData($key, $data, $expiration)
{
$path = $this->makePath($key);
// MAX_PATH is 260 - http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx
if (strlen($path) > 259 && stripos(PHP_OS, 'WIN') === 0) {
throw new Stash\Exception\WindowsPathMaxLengthException();
}
if (!file_exists($path)) {
if (!is_dir(dirname($path))) {
if (!@mkdir(dirname($path), $this->dirPermissions, true)) {
$sp = isset($spReturn['data']) ? $spReturn['data'] : false;
if (isset($spReturn['expiration'])) {
if ($spReturn['expiration'] < time()) {
$sp = false;
}
}
return $sp;
}
/**
* Returns the record for the current key. If there is no record than an empty array is returned.
*
* @return array
*/
protected function getRecord()
{
$record = $this->driver->getData($this->key);
if (!is_array($record)) {
return array();
}
return $record;
}
/**
* Decides whether the current data is fresh according to the supplied validation technique. As some techniques
* actively change the record this function takes that in as a reference.
*
* This function has the ability to change the isHit property as well as the record passed.
*
* @internal
* @param array $validation
* @param array &$record
*/
protected function validateRecord($validation, &$record)
{
if (!is_array($invalidation)) {
$vArray = array();
if (isset($invalidation)) {
$vArray[] = $invalidation;
}
if (isset($arg)) {
$vArray[] = $arg;
}
if (isset($arg2)) {
$vArray[] = $arg2;
}
$invalidation = $vArray;
}
$record = $this->getRecord();
$this->validateRecord($invalidation, $record);
return isset($record['data']['return']) ? $record['data']['return'] : null;
}
/**
* {@inheritdoc}
*/
public function isHit()
{
return !$this->isMiss();
}
/**
* {@inheritdoc}
*/
public function isMiss()
{
unset($this->expiration);
if ($this->isDisabled()) {
return false;
}
return $this->driver->clear(isset($this->key) ? $this->key : null);
}
/**
* {@inheritdoc}
*/
public function get()
{
try {
if (!isset($this->data)) {
$this->data = $this->executeGet(
$this->invalidationMethod,
$this->invalidationArg1,
$this->invalidationArg2);
}
if (false === $this->isHit) {
return null;
}
return $this->data;
} catch (Exception $e) {
$this->logException('Retrieving from cache caused exception.', $e);
$this->disable();
return null;
}
}
/**
* {@inheritdoc}
*/
public function setInvalidationMethod($invalidation = Invalidation::PRECOMPUTE, $arg = null, $arg2 = null)
{
return isset($record['data']['return']) ? $record['data']['return'] : null;
}
/**
* {@inheritdoc}
*/
public function isHit()
{
return !$this->isMiss();
}
/**
* {@inheritdoc}
*/
public function isMiss()
{
if (!isset($this->isHit)) {
$this->get();
}
if ($this->isDisabled()) {
return true;
}
return !$this->isHit;
}
/**
* {@inheritdoc}
*/
public function lock($ttl = null)
{
if ($this->isDisabled()) {
return true;
}
if (!isset($this->key)) {
return false;
$this->cacheLifetime = $cacheLifetime;
}
/**
* Internal method to get an item.
*
* @param string $normalizedKey
* @param bool $success
* @param mixed $casToken
*
* @return mixed Data on success, null on failure
*
* @throws Exception\ExceptionInterface
*/
protected function internalGetItem(&$normalizedKey, &$success = null, &$casToken = null)
{
/** @var Cache $cache */
$cache = Core::make($this->cacheName);
$item = $cache->getItem('zend/'.$normalizedKey);
if ($item->isMiss()) {
$success = false;
return null;
} else {
$success = true;
return $item->get();
}
}
/**
* Internal method to store an item.
*
* @param string $normalizedKey
* @param mixed $value
*
* @return bool
*
* @throws Exception\ExceptionInterface
*/
];
if ($argn > 1) {
$args['success'] = & $success;
}
if ($argn > 2) {
$args['casToken'] = & $casToken;
}
$args = new ArrayObject($args);
try {
$eventRs = $this->triggerPre(__FUNCTION__, $args);
if ($eventRs->stopped()) {
$result = $eventRs->last();
} elseif ($args->offsetExists('success') && $args->offsetExists('casToken')) {
$result = $this->internalGetItem($args['key'], $args['success'], $args['casToken']);
} elseif ($args->offsetExists('success')) {
$result = $this->internalGetItem($args['key'], $args['success']);
} else {
$result = $this->internalGetItem($args['key']);
}
return $this->triggerPost(__FUNCTION__, $args, $result);
} catch (\Exception $e) {
$result = null;
$success = false;
return $this->triggerException(__FUNCTION__, $args, $result, $e);
}
}
/**
* Internal method to get an item.
*
* @param string $normalizedKey
* @param bool $success
* @param mixed $casToken
* @return mixed Data on success, null on failure
* @throws Exception\ExceptionInterface
*/
abstract protected function internalGetItem(& $normalizedKey, & $success = null, & $casToken = null);
/**
* Load messages for a given language and domain.
*
* @triggers loadMessages.no-messages-loaded
* @param string $textDomain
* @param string $locale
* @throws Exception\RuntimeException
* @return void
*/
protected function loadMessages($textDomain, $locale)
{
if (!isset($this->messages[$textDomain])) {
$this->messages[$textDomain] = [];
}
if (null !== ($cache = $this->getCache())) {
$cacheId = 'Zend_I18n_Translator_Messages_' . md5($textDomain . $locale);
if (null !== ($result = $cache->getItem($cacheId))) {
$this->messages[$textDomain][$locale] = $result;
return;
}
}
$messagesLoaded = false;
$messagesLoaded |= $this->loadMessagesFromRemote($textDomain, $locale);
$messagesLoaded |= $this->loadMessagesFromPatterns($textDomain, $locale);
$messagesLoaded |= $this->loadMessagesFromFiles($textDomain, $locale);
if (!$messagesLoaded) {
$discoveredTextDomain = null;
if ($this->isEventManagerEnabled()) {
$until = function ($r) {
return ($r instanceof TextDomain);
};
$event = new Event(self::EVENT_NO_MESSAGES_LOADED, $this, [
'locale' => $locale,
/**
* Get a translated message.
*
* @triggers getTranslatedMessage.missing-translation
* @param string $message
* @param string $locale
* @param string $textDomain
* @return string|null
*/
protected function getTranslatedMessage(
$message,
$locale,
$textDomain = 'default'
) {
if ($message === '' || $message === null) {
return '';
}
if (!isset($this->messages[$textDomain][$locale])) {
$this->loadMessages($textDomain, $locale);
}
if (isset($this->messages[$textDomain][$locale][$message])) {
return $this->messages[$textDomain][$locale][$message];
}
if ($this->isEventManagerEnabled()) {
$until = function ($r) {
return is_string($r);
};
$event = new Event(self::EVENT_MISSING_TRANSLATION, $this, [
'message' => $message,
'locale' => $locale,
'text_domain' => $textDomain,
]);
$results = $this->getEventManager()->triggerEventUntil($until, $event);
$last = $results->last();
{
if (!$this->pluginManager instanceof LoaderPluginManager) {
$this->setPluginManager(new LoaderPluginManager(new ServiceManager));
}
return $this->pluginManager;
}
/**
* Translate a message.
*
* @param string $message
* @param string $textDomain
* @param string $locale
* @return string
*/
public function translate($message, $textDomain = 'default', $locale = null)
{
$locale = ($locale ?: $this->getLocale());
$translation = $this->getTranslatedMessage($message, $locale, $textDomain);
if ($translation !== null && $translation !== '') {
return $translation;
}
if (null !== ($fallbackLocale = $this->getFallbackLocale())
&& $locale !== $fallbackLocale
) {
return $this->translate($message, $textDomain, $fallbackLocale);
}
return $message;
}
/**
* Translate a plural message.
*
* @param string $singular
* @param string $plural
* @param int $number
public function translatePlural($singular, $plural, $number)
{
if (!(is_string($singular) && is_string($plural))) {
return '';
}
$text = $this->translator->translatePlural($singular, $plural, $number);
return $this->formatString($text, array_slice(func_get_args(), 2));
}
/**
* {@inheritdoc}
*/
public function translateContext($context, $text)
{
if (!(is_string($context) && is_string($text))) {
return '';
}
$msgid = $context . "\x04" . $text;
$msgtxt = $this->translator->translate($msgid);
if ($msgtxt != $msgid) {
$text = $msgtxt;
}
return $this->formatString($text, array_slice(func_get_args(), 2));
}
/**
* Formats the string in the with the PHP sprintf format with the given
* arguments.
*
* @param string $string
* @param array $args
*/
protected function formatString($string, array $args)
{
if (count($args) > 0) {
return vsprintf($string, $args);
}
*
* @param string $context A context, useful for translators to better understand the meaning of the text to be translated.
* @param string $text The text to be translated.
* @param mixed ... Unlimited optional number of arguments: if specified they'll be used for printf.
*
* @return string Returns the translated text.
*
* @example tc('Recipient', 'To %s') will return translation for 'To %s' (example for Italian 'A %s').
* @example tc('End date', 'To %s') will return translation for 'To %s' (example for Italian 'Fino al %s').
* @example tc('Recipient', 'To %s', 'John') will return translation for 'To %s' (example: 'A %s'), using 'John' for printf (so the final result will be 'A John' for Italian).
* @example tc('End date', 'To %s', '01/01/2000') will return translation for 'To %s' (example: 'Fino al %s'), using '01/01/2000' for printf (so the final result will be 'Fino al 01/01/2000' for Italian).
*/
function tc($context, $text)
{
$loc = Localization::getInstance();
$adapter = $loc->getActiveTranslatorAdapter();
$args = func_get_args();
switch (count($args)) {
case 2:
return $adapter->translateContext($context, $text);
case 3:
return $adapter->translateContext($context, $text, $args[2]);
case 4:
return $adapter->translateContext($context, $text, $args[2], $args[3]);
case 5:
return $adapter->translateContext($context, $text, $args[2], $args[3], $args[4]);
default:
return call_user_func_array(array($adapter, 'translateContext'), $args);
}
}
/**
* Security helper.
*
* @param string $input
*
* @return string mixed
*/
function h($input)
{
*
* We can set a title 3 ways:
* 1. It comes through programmatically as $pageTitle. If this is the case then we pass it through, no questions asked
* 2. It comes from meta title
* 3. It comes from getCollectionName()
* In the case of 3, we also pass it through page title format.
*/
if ($pageTitle === null) {
// we aren't getting it dynamically.
$pageTitle = $c->getAttribute('meta_title');
if (!is_string($pageTitle) || $pageTitle === '') {
$seo = $app->make('helper/seo');
if (!$seo->hasCustomTitle()) {
$pageTitle = $c->getCollectionName();
if ($c->isSystemPage()) {
$pageTitle = t($pageTitle);
}
$seo->addTitleSegmentBefore($pageTitle);
}
$seo->setSiteName(tc('SiteName', $site->getSiteName()));
$seo->setTitleFormat($appConfig->get('concrete.seo.title_format'));
$seo->setTitleSegmentSeparator($appConfig->get('concrete.seo.title_segment_separator'));
$pageTitle = $seo->getTitle();
}
}
if (!$pageDescription) {
// we aren't getting it dynamically.
$pageDescription = $c->getAttribute('meta_description');
if (!$pageDescription) {
$pageDescription = $c->getCollectionDescription();
}
$pageDescription = trim($pageDescription);
}
if (!$pageMetaKeywords) {
$pageMetaKeywords = trim($c->getAttribute('meta_keywords'));
}
if ($c->hasPageThemeCustomizations()) {
$styleObject = $c->getCustomStyleObject();
} elseif (($pt = $c->getCollectionThemeObject()) && is_object($pt)) {
$_fs = $_app->make(Filesystem::class);
$_locator = new FileLocator($_fs, $_app);
if (isset($_theme) && is_object($_theme)) {
$_locator->addLocation(new FileLocator\ThemeElementLocation($_theme));
}
if ($_pkgHandle) {
$_locator->addPackageLocation($_pkgHandle);
}
$_record = $_locator->getRecord(DIRNAME_ELEMENTS . '/' . $_file . '.php');
$_file = $_record->getFile();
unset($_record);
unset($_app);
unset($_fs);
unset($_locator);
unset($_theme);
include $_file;
}
}
}
public static function helper($service, $pkgHandle = false)
{
$app = Facade::getFacadeApplication();
if ($pkgHandle !== false) {
return $app->make('/packages/' . $pkgHandle . '/helper/' . $service);
} else {
return $app->make('helper/' . $service);
}
}
public static function packageElement($file, $pkgHandle, $args = null)
{
self::element($file, $args, $pkgHandle);
}
public static function element($_file, $args = null, $_pkgHandle = null)
{
return View::element($_file, $args, $_pkgHandle);
}
public static function model($model, $pkgHandle = false)
{
return false;
}
public static function library($library, $pkgHandle = false)
{
return false;
}
public static function controller($item)
{
if ($item instanceof \Page) {
return $item->getController();
}
$controller = '\\Concrete\\Controller\\' . camelcase($item);
$app = Facade::getFacadeApplication();
<?php defined('C5_EXECUTE') or die("Access Denied."); ?>
<!DOCTYPE html>
<html dir="ltr" lang="nl">
<head>
<?php Loader::element('header_required'); ?>
<!-- Stylesheets
============================================= -->
<link href="https://fonts.googleapis.com/css?family=Lato:300,400,400i,700|Raleway:300,400,500,600,700|Crete+Round:400i" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/css/bootstrap.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/style.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/css/swiper.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/css/dark.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/css/font-icons.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/css/animate.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/css/magnific-popup.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/css/responsive.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->getThemePath(); ?>/css/colors.css" type="text/css" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<?php $up = new Permissions(Page::getCurrentPage()) ?>
<?php if($up->canAdminPage()): ?>
<style type="text/css">
#header { top: 65px; }
</style>
<?php endif; ?>
</head>
<body class="stretched dark">
<!-- Document Wrapper
============================================= -->
<div id="wrapper" class="clearfix">
<!-- Header
============================================= -->
<header id="header" class="transparent-header full-header">
<div id="header-wrap">
<div class="container clearfix">
<div id="primary-menu-trigger"><i class="icon-reorder"></i></div>
<!-- Logo
$path = $env->getPath(DIRNAME_THEMES.'/'.$this->themeHandle.'/'.$file, $this->themePkgHandle);
if (!file_exists($path)) {
$path2 = $env->getPath(DIRNAME_THEMES.'/'.$this->themeHandle.'/'.$file, $this->viewPkgHandle);
if (file_exists($path2)) {
$path = $path2;
}
unset($path2);
}
$__data__['path'] = $path;
unset($file);
unset($args);
unset($env);
unset($path);
if (!empty($__data__['scopedItems'])) {
if (array_key_exists('__data__', $__data__['scopedItems'])) {
throw new \Exception(t(/*i18n: %1$s is a variable name, %2$s is a function name*/'Illegal variable name \'%1$s\' in %2$s args.', '__data__', __CLASS__.'::'.__METHOD__));
}
extract($__data__['scopedItems']);
}
include $__data__['path'];
}
/**
* A shortcut to posting back to the current page with a task and optional parameters. Only works in the context of.
*
* @param string $action
* @param string $task
*
* @return string $url
*/
public function action($action)
{
$a = func_get_args();
$controllerPath = $this->controller->getControllerActionPath();
array_unshift($a, $controllerPath);
$ret = call_user_func_array([$this, 'url'], $a);
return $ret;
}
<?php
defined('C5_EXECUTE') or die("Access Denied.");
$this->inc('elements/header.php'); ?>
<section id="page-title">
<div class="container clearfix">
<h1><?php echo $c->getCollectionName(); ?></h1>
</div>
</section><!-- #page-title end -->
<!-- Content
============================================= -->
<section id="content">
<div class="content-wrap">
<div class="container clearfix">
<div class="row clearfix">
<div class="col_full">
<?php
$b = new Area('Main');
$b->display($c);
?>
</div>
</div>
</div>
<div class="clear"></div>
<a href="javascript:location='mailto:\u0069\u006e\u0066\u006f\u0040\u0074\u0065\u0070\u006c\u0061\u0074\u0065\u002e\u006e\u006c';void 0" class="button button-full button-dark center tright" style="margin-bottom: 0px !important;">
<div class="container clearfix">
ob_end_clean();
return $innerContent;
}
/**
* Render the file set to $this->template
* @param $scopeItems
* @return string
*/
protected function renderTemplate($scopeItems, $innerContent)
{
// Extract the items into the current scope
extract($scopeItems);
ob_start();
// Fire a `before` event
$this->onBeforeGetContents();
include $this->template;
// Fire an `after` event
$this->onAfterGetContents();
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}
public function finishRender($contents)
{
$event = new \Symfony\Component\EventDispatcher\GenericEvent();
$event->setArgument('view', $this);
Events::dispatch('on_render_complete', $event);
return $contents;
}
/**
* Function responsible for outputting header items.
protected function onBeforeGetContents()
{
$event = new \Symfony\Component\EventDispatcher\GenericEvent();
$event->setArgument('view', $this);
Events::dispatch('on_before_render', $event);
$this->themeObject->registerAssets();
}
public function renderViewContents($scopeItems)
{
$contents = '';
// Render the main view file
if ($this->innerContentFile) {
$contents = $this->renderInnerContents($scopeItems);
}
// Render the template around it
if (file_exists($this->template)) {
$contents = $this->renderTemplate($scopeItems, $contents);
}
return $contents;
}
/**
* Render the file set to $this->innerContentFile
* @param $scopeItems
* @return string
*/
protected function renderInnerContents($scopeItems)
{
// Extract the items into the current scope
extract($scopeItems);
ob_start();
include $this->innerContentFile;
$innerContent = ob_get_contents();
ob_end_clean();
$helpers = $this->controller->getHelperObjects();
$return = array_merge($this->scopeItems, $sets, $helpers);
} else {
$return = $this->scopeItems;
}
$return['view'] = $this;
$return['controller'] = $this->controller;
return $return;
}
public function render($state = false)
{
if ($this instanceof View) {
$this->setRequestInstance($this);
}
$this->start($state);
$this->setupRender();
$this->startRender();
$scopeItems = $this->getScopeItems();
$contents = $this->renderViewContents($scopeItems);
$contents = $this->postProcessViewContents($contents);
$response = $this->finishRender($contents);
if ($this instanceof View) {
$this->revertRequestInstance();
}
return $response;
}
public function renderViewContents($scopeItems)
{
if (file_exists($this->template)) {
extract($scopeItems);
ob_start();
$this->onBeforeGetContents();
include $this->template;
$this->onAfterGetContents();
$contents = ob_get_contents();
ob_end_clean();
$cnt = $this->app->make(PageForbidden::class);
$this->controller($cnt, $code, $headers);
}
/**
* {@inheritdoc}
*/
public function redirect($to, $code = Response::HTTP_MOVED_PERMANENTLY, $headers = [])
{
return RedirectResponse::create($to, $code, $headers);
}
/**
* {@inheritdoc}
*/
public function view(View $view, $code = Response::HTTP_OK, $headers = [])
{
$this->localization->pushActiveContext(Localization::CONTEXT_SITE);
try {
$contents = $view->render();
return $this->create($contents, $code, $headers);
} finally {
$this->localization->popActiveContext();
}
}
/**
* {@inheritdoc}
*/
public function controller(Controller $controller, $code = Response::HTTP_OK, $headers = [])
{
$this->localization->pushActiveContext(Localization::CONTEXT_SITE);
try {
$request = $this->request;
if ($response = $controller->on_start()) {
return $response;
}
if ($response = $controller->runAction('view')) {
return $response;
}
}
$view = $controller->getViewObject();
// Mobile theme
if ($this->config->get('concrete.misc.mobile_theme_id') > 0) {
$md = $this->app->make(MobileDetect::class);
if ($md->isMobile()) {
$mobileTheme = Theme::getByID($this->app->config->get('concrete.misc.mobile_theme_id'));
if ($mobileTheme instanceof Theme) {
$view->setViewTheme($mobileTheme);
$controller->setTheme($mobileTheme);
}
}
}
return $this->view($view, $code, $headers);
} finally {
$this->localization->popActiveContext();
}
}
/**
* {@inheritdoc}
*/
public function collection(Collection $collection, $code = Response::HTTP_OK, $headers = [])
{
if (!$this->app) {
throw new \RuntimeException('Cannot resolve collections without a reference to the application');
}
$request = $this->request;
if ($collection->isError() && $collection->getError() == COLLECTION_NOT_FOUND) {
if ($response = $this->collectionNotFound($collection, $request, $headers)) {
return $response;
}
$pe = new Event($collection);
$pe->setUser($u);
$pe->setRequest($request);
$this->app['director']->dispatch('on_page_view', $pe);
// Core menu items
$item = new RelationListItem();
$menu = $this->app->make('helper/concrete/ui/menu');
$menu->addMenuItem($item);
// Multisite item
$item = new SiteListItem();
$menu->addMenuItem($item);
$controller = $collection->getPageController();
// we update the current page with the one bound to this controller.
$collection->setController($controller);
return $this->controller($controller);
}
private function collectionNotFound(Collection $collection, Request $request, array $headers)
{
// if we don't have a path and we're doing cID, then this automatically fires a 404.
if (!$request->getPath() && $request->get('cID')) {
return $this->notFound('', Response::HTTP_NOT_FOUND, $headers);
}
// let's test to see if this is, in fact, the home page,
// and we're routing arguments onto it (which is screwing up the path.)
$home = Page::getByID(Page::getHomePageID());
$request->setCurrentPage($home);
$homeController = $home->getPageController();
$homeController->setupRequestActionAndParameters($request);
$response = $homeController->validateRequest();
if ($response instanceof \Symfony\Component\HttpFoundation\Response) {
return $response;
} elseif ($response === true) {
new DispatcherDelegate($dispatcher)
);
$stack->setApplication($this->app);
foreach($route->getMiddlewares() as $middleware) {
if (is_string($middleware->getMiddleware())) {
$inflatedMiddleware = $this->app->make($middleware->getMiddleware());
} else {
$inflatedMiddleware = $middleware->getMiddleware();
}
$stack = $stack->withMiddleware(
$inflatedMiddleware,
$middleware->getPriority()
);
}
return $stack->process($request);
} catch (ResourceNotFoundException $e) {
} catch (MethodNotAllowedException $e) {
}
$c = \Page::getFromRequest($request);
$response = $this->app->make(ResponseFactoryInterface::class)->collection($c);
return $response;
}
/**
* @param \Symfony\Component\Routing\RouteCollection $routes
* @param string $path
*
* @return \Symfony\Component\Routing\RouteCollection
*/
private function filterRouteCollectionForPath(RouteCollection $routes, $path)
{
$result = new RouteCollection();
foreach ($routes->getResources() as $resource) {
$result->addResource($resource);
}
foreach ($routes->all() as $name => $route) {
$routePath = $route->getPath();
$p = strpos($routePath, '{');
$skip = false;
/**
* @param \Symfony\Component\HttpFoundation\Request $request
*
* @return SymfonyResponse
*/
public function dispatch(SymfonyRequest $request)
{
$path = rawurldecode($request->getPathInfo());
if (substr($path, 0, 3) == '../' || substr($path, -3) == '/..' || strpos($path, '/../') ||
substr($path, 0, 3) == '..\\' || substr($path, -3) == '\\..' || strpos($path, '\\..\\')) {
throw new UserMessageException(t('Invalid path traversal. Please make this request with a valid HTTP client.'));
}
$response = null;
if ($this->app->isInstalled()) {
$response = $this->getEarlyDispatchResponse();
}
if ($response === null) {
$response = $this->handleDispatch($request);
}
return $response;
}
private function getEarlyDispatchResponse()
{
$validator = $this->app->make(SessionValidator::class);
if ($validator->hasActiveSession()) {
$session = $this->app['session'];
if (!$session->has('uID')) {
User::verifyAuthTypeCookie();
}
// User may have been logged in, so lets check status again.
if ($session->has('uID') && $session->get('uID') > 0 && $response = $this->validateUser()) {
return $response;
}
}
}
private $dispatcher;
/**
* DispatcherFrame constructor.
* @param \Concrete\Core\Http\DispatcherInterface $dispatcher
*/
public function __construct(DispatcherInterface $dispatcher)
{
$this->dispatcher = $dispatcher;
}
/**
* Dispatch the next available middleware and return the response.
*
* @param Request $request
* @return Response
*/
public function next(Request $request)
{
return $this->dispatcher->dispatch($request);
}
}
* @var \Concrete\Core\Config\Repository\Repository
*/
private $config;
public function __construct(Repository $config)
{
$this->config = $config;
}
/**
* Process the request and return a response.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @param DelegateInterface $frame
*
* @return \Symfony\Component\HttpFoundation\Response
*/
public function process(Request $request, DelegateInterface $frame)
{
$response = $frame->next($request);
if ($response && $this->app->isInstalled() && $this->config->get('concrete.misc.basic_thumbnailer_generation_strategy') == 'now') {
$responseStatusCode = (int) $response->getStatusCode();
if ($responseStatusCode === 200 || $responseStatusCode === 404) {
$database = $this->tryGetConnection();
if ($database !== null) {
if ($responseStatusCode === 404) {
$searchThumbnailPath = $request->getRequestUri();
} else {
$searchThumbnailPath = null;
}
$thumbnail = $this->getThumbnailToGenerate($database, $searchThumbnailPath);
if ($thumbnail !== null) {
$this->markThumbnailAsBuilt($database, $thumbnail);
if ($this->generateThumbnail($thumbnail)) {
if ($this->couldBeTheRequestedThumbnail($thumbnail, $searchThumbnailPath)) {
$response = $this->buildRedirectToThumbnailResponse($request);
}
}
}
public function __construct(
MiddlewareInterface $middleware,
DelegateInterface $nextDelegate,
HttpFoundationFactory $foundationFactory
) {
$this->middleware = $middleware;
$this->nextDelegate = $nextDelegate;
$this->foundationFactory = $foundationFactory;
}
/**
* Dispatch the next available middleware and return the response.
*
* @param Request $request
* @return Response
*/
public function next(Request $request)
{
$response = $this->middleware->process($request, $this->nextDelegate);
// Negotiate PSR7 responses
if ($response instanceof ResponseInterface) {
return $this->foundationFactory->createResponse($response);
}
return $response;
}
}
private $config;
/**
* @var \Concrete\Core\Utility\Service\Validation\Strings
*/
private $stringValidator;
public function __construct(Repository $config, Strings $stringValidator)
{
$this->config = $config;
$this->stringValidator = $stringValidator;
}
/**
* @param \Concrete\Core\Http\Middleware\DelegateInterface $frame
* @return Response
*/
public function process(Request $request, DelegateInterface $frame)
{
$response = $frame->next($request);
if ($response->headers->has('X-Frame-Options') === false) {
$x_frame_options = $this->config->get('concrete.security.misc.x_frame_options');
if ($this->stringValidator->notempty($x_frame_options)) {
$response->headers->set('X-Frame-Options', $x_frame_options);
}
}
return $response;
}
}
public function __construct(
MiddlewareInterface $middleware,
DelegateInterface $nextDelegate,
HttpFoundationFactory $foundationFactory
) {
$this->middleware = $middleware;
$this->nextDelegate = $nextDelegate;
$this->foundationFactory = $foundationFactory;
}
/**
* Dispatch the next available middleware and return the response.
*
* @param Request $request
* @return Response
*/
public function next(Request $request)
{
$response = $this->middleware->process($request, $this->nextDelegate);
// Negotiate PSR7 responses
if ($response instanceof ResponseInterface) {
return $this->foundationFactory->createResponse($response);
}
return $response;
}
}
* @var \Concrete\Core\Cookie\ResponseCookieJar
*/
private $responseCookieJar;
/**
* @param \Concrete\Core\Cookie\ResponseCookieJar $responseCookieJar
*/
public function __construct(ResponseCookieJar $responseCookieJar)
{
$this->responseCookieJar = $responseCookieJar;
}
/**
* {@inheritdoc}
*
* @see \Concrete\Core\Http\Middleware\MiddlewareInterface::process()
*/
public function process(Request $request, DelegateInterface $frame)
{
$response = $frame->next($request);
$cleared = $this->responseCookieJar->getClearedCookies();
foreach ($cleared as $cookie) {
$response->headers->clearCookie($cookie, DIR_REL . '/');
}
$cookies = $this->responseCookieJar->getCookies();
foreach ($cookies as $cookie) {
$response->headers->setCookie($cookie);
}
return $response;
}
}
public function __construct(
MiddlewareInterface $middleware,
DelegateInterface $nextDelegate,
HttpFoundationFactory $foundationFactory
) {
$this->middleware = $middleware;
$this->nextDelegate = $nextDelegate;
$this->foundationFactory = $foundationFactory;
}
/**
* Dispatch the next available middleware and return the response.
*
* @param Request $request
* @return Response
*/
public function next(Request $request)
{
$response = $this->middleware->process($request, $this->nextDelegate);
// Negotiate PSR7 responses
if ($response instanceof ResponseInterface) {
return $this->foundationFactory->createResponse($response);
}
return $response;
}
}
* Middleware for applying state changes to the application
* @package Concrete\Core\Http\Middleware
*/
class ApplicationMiddleware implements MiddlewareInterface, ApplicationAwareInterface
{
use ApplicationAwareTrait;
/**
* Apply the request instance to the request singleton
* @param \Symfony\Component\HttpFoundation\Request $request
* @param \Concrete\Core\Http\Middleware\DelegateInterface $frame
* @return \Symfony\Component\HttpFoundation\Response
*/
public function process(Request $request, DelegateInterface $frame)
{
\Concrete\Core\Http\Request::setInstance($request);
$this->app->instance('Concrete\Core\Http\Request', $request);
return $frame->next($request);
}
}
public function __construct(
MiddlewareInterface $middleware,
DelegateInterface $nextDelegate,
HttpFoundationFactory $foundationFactory
) {
$this->middleware = $middleware;
$this->nextDelegate = $nextDelegate;
$this->foundationFactory = $foundationFactory;
}
/**
* Dispatch the next available middleware and return the response.
*
* @param Request $request
* @return Response
*/
public function next(Request $request)
{
$response = $this->middleware->process($request, $this->nextDelegate);
// Negotiate PSR7 responses
if ($response instanceof ResponseInterface) {
return $this->foundationFactory->createResponse($response);
}
return $response;
}
}
public function withoutMiddleware(MiddlewareInterface $middleware)
{
$stack = clone $this;
$stack->middleware = array_map(function($priorityGroup) use ($middleware) {
return array_map(function($stackMiddleware) use ($middleware) {
return $middleware === $stackMiddleware ? null : $stackMiddleware;
}, $priorityGroup);
}, $stack->middleware);
return $stack;
}
/**
* @inheritdoc
*/
public function process(Request $request)
{
$stack = $this->getStack();
return $stack->next($request);
}
/**
* Reduce middleware into a stack of functions that each call the next
* @return callable
*/
private function getStack()
{
$processed = [];
foreach ($this->middlewareGenerator() as $middleware) {
$processed[] = $middleware;
}
$middleware = array_reverse($processed);
$stack = array_reduce($middleware, $this->getZipper(), $this->dispatcher);
return $stack;
}
*/
public function removeMiddleware(MiddlewareInterface $middleware)
{
$this->stack = $this->stack->withoutMiddleware($middleware);
return $this;
}
/**
* Take a request and pass it through middleware, then return the response
* @param SymfonyRequest $request
* @return SymfonyResponse
*/
public function handleRequest(SymfonyRequest $request)
{
$stack = $this->stack;
if ($stack instanceof MiddlewareStack) {
$stack = $stack->withDispatcher($this->app->make(DispatcherDelegate::class, [$this->dispatcher]));
}
return $stack->process($request);
}
}
// Register legacy config values
'registerLegacyConfigValues',
// Handle loading permission keys
'handlePermissionKeys',
// Handle eventing
'handleEventing',
]);
} else {
$this->initializeSystemTimezone();
$this->preloadClassAliases();
}
// Create the request to use
$request = $this->createRequest();
if (!$response) {
$response = $this->server->handleRequest($request);
}
// Prepare and return the response
return $response->prepare($request);
}
/**
* Define the base url if not defined
* This will define `BASE_URL` to whatever is resolved from the resolver.
*
* @deprecated In a future major version this will be part of HTTP middleware
*
* @return Response|void Returns a response if an error occurs
*/
protected function initializeLegacyURLDefinitions()
{
if (!defined('BASE_URL')) {
$resolver = $this->getUrlResolver();
try {
$this->status = self::STATUS_ACTIVE;
}
}
/**
* Begin the runtime.
*/
public function run()
{
switch ($this->status) {
case self::STATUS_ENDED:
// We've already ended, lets just return
return;
case self::STATUS_INACTIVE:
throw new \RuntimeException('Runtime has not yet booted.');
}
$runner = $this->getRunner();
$response = $runner->run();
if ($response) {
$this->sendResponse($response);
}
return $response;
}
/**
* The method that handles properly sending a response.
*
* @param \Symfony\Component\HttpFoundation\Response $response
*/
protected function sendResponse(Response $response)
{
$response->send();
// Set the status to ended
$this->status = self::STATUS_ENDED;
}
* Include all autoloaders.
* ----------------------------------------------------------------------------
*/
require __DIR__ . '/bootstrap/autoload.php';
/*
* ----------------------------------------------------------------------------
* Begin concrete5 startup.
* ----------------------------------------------------------------------------
*/
$app = require __DIR__ . '/bootstrap/start.php';
/** @var \Concrete\Core\Application\Application $app */
/*
* ----------------------------------------------------------------------------
* Run the runtime.
* ----------------------------------------------------------------------------
*/
$runtime = $app->getRuntime();
if ($response = $runtime->run()) {
/*
* ------------------------------------------------------------------------
* Shut it down.
* ------------------------------------------------------------------------
*/
$app->shutdown();
} else {
return $app;
}
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$response = curl_exec($ch);
curl_close($ch);
if (json_decode($response)->geoplugin_countryCode == 'NL') {
//dowt;
} else {
if (json_decode($response)->geoplugin_countryCode == 'FR') {
header("Location: ".'https://new.teplate.nl/fr', true, 303);
die();
} else {
header("Location: ".'https://new.teplate.nl/en', true, 303);
header("Location: ".'https://new.teplate.nl/en', true, 303);
die();
}
}
}
require 'concrete/dispatcher.php';
| Key | Value |
| Version | 8.5.5 |
| Installed Version | 8.5.5 |
| Key | Value |
| concrete.version | 8.5.5 |
| concrete.version_installed | 8.5.5 |
| concrete.version_db | 20201116182100 |
| concrete.installed | true |
| concrete.locale | en_US |
| concrete.charset | UTF-8 |
| concrete.charset_bom | |
| concrete.maintenance_mode | false |
| concrete.debug.display_errors | true |
| concrete.debug.detail | debug |
| concrete.debug.error_reporting | null |
| concrete.proxy.host | null |
| concrete.proxy.port | null |
| concrete.proxy.user | null |
| concrete.proxy.password | null |
| concrete.upload.extensions | *.flv;*.jpg;*.gif;*.jpeg;*.ico;*.docx;*.xla;*.png;*.psd;*.swf;*.doc;*.txt;*.xls;*.xlsx;*.csv;*.pdf;*.tiff;*.rtf;*.m4a;*.mov;*.wmv;*.mpeg;*.mpg;*.wav;*.3gp;*.avi;*.m4v;*.mp4;*.mp3;*.qt;*.ppt;*.pptx;*.kml;*.xml;*.svg;*.webm;*.ogg;*.ogv |
| concrete.upload.extensions_blacklist | *.php;*.php2;*.php3;*.php4;*.php5;*.php7;*.php8;*.phtml;*.phar;*.htaccess;*.pl;*.phpsh;*.pht;*.shtml;*.cgi |
| concrete.upload.chunking.enabled | true |
| concrete.upload.chunking.chunkSize | null |
| concrete.export.csv.include_bom | false |
| concrete.export.csv.datetime_format | ATOM |
| concrete.interface.panel.page_relations | false |
| concrete.mail.method | PHP_MAIL |
| concrete.mail.methods.smtp.server | |
| concrete.mail.methods.smtp.port | |
| concrete.mail.methods.smtp.username | |
| concrete.mail.methods.smtp.password | |
| concrete.mail.methods.smtp.encryption | |
| concrete.mail.methods.smtp.messages_per_connection | null |
| concrete.mail.methods.smtp.helo_domain | localhost |
| concrete.cache.enabled | true |
| concrete.cache.lifetime | 21600 |
| concrete.cache.overrides | true |
| concrete.cache.blocks | true |
| concrete.cache.assets | true |
| concrete.cache.theme_css | true |
| concrete.cache.pages | blocks |
| concrete.cache.doctrine_dev_mode | false |
| concrete.cache.full_page_lifetime | forever |
| concrete.cache.full_page_lifetime_value | null |
| concrete.cache.full_contents_assets_hash | false |
| concrete.cache.directory | /home/.sites/111/site30/web/application/files/cache |
| concrete.cache.directory_relative | null |
| concrete.cache.page.directory | /home/.sites/111/site30/web/application/files/cache/pages |
| concrete.cache.page.adapter | file |
| concrete.cache.levels.overrides.drivers.core_ephemeral.class | \Stash\Driver\Ephemeral |
| concrete.cache.levels.overrides.drivers.core_filesystem.class | Concrete\Core\Cache\Driver\FileSystemStashDriver |
| concrete.cache.levels.overrides.drivers.core_filesystem.options.path | /home/.sites/111/site30/web/application/files/cache/overrides |
| concrete.cache.levels.overrides.drivers.core_filesystem.options.dirPermissions | 493 |
| concrete.cache.levels.overrides.drivers.core_filesystem.options.filePermissions | 420 |
| concrete.cache.levels.overrides.drivers.redis.class | Concrete\Core\Cache\Driver\RedisStashDriver |
| concrete.cache.levels.overrides.drivers.redis.options.prefix | c5_overrides |
| concrete.cache.levels.overrides.drivers.redis.options.database | 0 |
| concrete.cache.levels.overrides.preferred_driver | core_filesystem |
| concrete.cache.levels.expensive.drivers.core_ephemeral.class | \Stash\Driver\Ephemeral |
| concrete.cache.levels.expensive.drivers.core_filesystem.class | Concrete\Core\Cache\Driver\FileSystemStashDriver |
| concrete.cache.levels.expensive.drivers.core_filesystem.options.path | /home/.sites/111/site30/web/application/files/cache/expensive |
| concrete.cache.levels.expensive.drivers.core_filesystem.options.dirPermissions | 493 |
| concrete.cache.levels.expensive.drivers.core_filesystem.options.filePermissions | 420 |
| concrete.cache.levels.expensive.drivers.redis.class | Concrete\Core\Cache\Driver\RedisStashDriver |
| concrete.cache.levels.expensive.drivers.redis.options.prefix | c5_expensive |
| concrete.cache.levels.expensive.drivers.redis.options.database | 0 |
| concrete.cache.levels.expensive.preferred_driver | core_filesystem |
| concrete.cache.levels.object.drivers.core_ephemeral.class | \Stash\Driver\Ephemeral |
| concrete.cache.levels.object.drivers.redis.class | Concrete\Core\Cache\Driver\RedisStashDriver |
| concrete.cache.levels.object.drivers.redis.options.prefix | c5_object |
| concrete.cache.levels.object.drivers.redis.options.database | 0 |
| concrete.cache.levels.object.preferred_driver | core_ephemeral |
| concrete.cache.clear.thumbnails | true |
| concrete.design.enable_custom | true |
| concrete.design.enable_layouts | true |
| concrete.log.emails | true |
| concrete.log.errors | true |
| concrete.log.spam | false |
| concrete.log.api | false |
| concrete.log.enable_dashboard_report | true |
| concrete.log.configuration.mode | simple |
| concrete.log.configuration.simple.core_logging_level | NOTICE |
| concrete.log.configuration.simple.handler | database |
| concrete.log.configuration.simple.file.file | |
| concrete.jobs.enable_scheduling | true |
| concrete.filesystem.temp_directory | null |
| concrete.filesystem.permissions.file | 420 |
| concrete.filesystem.permissions.directory | 493 |
| concrete.email.enabled | true |
| concrete.email.default.address | concrete5-noreply@concrete5 |
| concrete.email.default.name | |
| concrete.email.form_block.address | false |
| concrete.email.forgot_password.address | null |
| concrete.email.forgot_password.name | null |
| concrete.email.validate_registration.address | null |
| concrete.email.validate_registration.name | null |
| concrete.email.workflow_notification.address | null |
| concrete.email.workflow_notification.name | null |
| concrete.form.store_form_submissions | auto |
| concrete.marketplace.enabled | true |
| concrete.marketplace.request_timeout | 30 |
| concrete.marketplace.token | null |
| concrete.marketplace.site_token | null |
| concrete.marketplace.intelligent_search | true |
| concrete.marketplace.log_requests | false |
| concrete.external.intelligent_search_help | true |
| concrete.external.news | true |
| concrete.misc.user_timezones | false |
| concrete.misc.package_backup_directory | /home/.sites/111/site30/web/application/files/trash |
| concrete.misc.enable_progressive_page_reindex | true |
| concrete.misc.mobile_theme_id | 0 |
| concrete.misc.sitemap_approve_immediately | true |
| concrete.misc.enable_translate_locale_en_us | false |
| concrete.misc.page_search_index_lifetime | 259200 |
| concrete.misc.enable_trash_can | true |
| concrete.misc.default_jpeg_image_compression | 80 |
| concrete.misc.default_png_image_compression | 9 |
| concrete.misc.default_thumbnail_format | auto |
| concrete.misc.inplace_image_operations_limit | 4194304 |
| concrete.misc.basic_thumbnailer_generation_strategy | now |
| concrete.misc.help_overlay | true |
| concrete.misc.require_version_comments | false |
| concrete.misc.enable_move_blocktypes_across_sets | false |
| concrete.misc.image_editor_cors_policy.enable_cross_origin | false |
| concrete.misc.image_editor_cors_policy.anonymous_request | true |
| concrete.misc.generator_tag_display_in_header | true |
| concrete.misc.login_redirect | HOMEPAGE |
| concrete.misc.access_entity_updated | 1550650282 |
| concrete.misc.latest_version | 8.4.4 |
| concrete.misc.login_redirect_cid | 0 |
| concrete.misc.do_page_reindex_check | false |
| concrete.theme.compress_preprocessor_output | true |
| concrete.theme.generate_less_sourcemap | false |
| concrete.updates.enable_auto_update_packages | false |
| concrete.updates.enable_permissions_protection | true |
| concrete.updates.check_threshold | 172800 |
| concrete.updates.services.get_available_updates | http://www.concrete5.org/tools/update_core |
| concrete.updates.services.inspect_update | http://www.concrete5.org/tools/inspect_update |
| concrete.updates.skip_core | false |
| concrete.paths.trash | /!trash |
| concrete.paths.drafts | /!drafts |
| concrete.icons.page_template.width | 120 |
| concrete.icons.page_template.height | 90 |
| concrete.icons.theme_thumbnail.width | 120 |
| concrete.icons.theme_thumbnail.height | 90 |
| concrete.icons.file_manager_listing.handle | file_manager_listing |
| concrete.icons.file_manager_listing.width | 60 |
| concrete.icons.file_manager_listing.height | 60 |
| concrete.icons.file_manager_detail.handle | file_manager_detail |
| concrete.icons.file_manager_detail.width | 400 |
| concrete.icons.file_manager_detail.height | 400 |
| concrete.icons.user_avatar.width | 80 |
| concrete.icons.user_avatar.height | 80 |
| concrete.icons.user_avatar.default | /concrete/images/avatar_none.png |
| concrete.file_manager.images.use_exif_data_to_rotate_images | false |
| concrete.file_manager.images.manipulation_library | gd |
| concrete.file_manager.images.create_high_dpi_thumbnails | true |
| concrete.file_manager.images.preview_image_size | small |
| concrete.file_manager.images.preview_image_popover | true |
| concrete.file_manager.images.svg_sanitization.action | sanitize |
| concrete.file_manager.images.svg_sanitization.allowed_tags | |
| concrete.file_manager.images.svg_sanitization.allowed_attributes | |
| concrete.file_manager.images.image_editor_save_area_background_color | |
| concrete.file_manager.items_per_page_options.0 | 10 |
| concrete.file_manager.items_per_page_options.1 | 25 |
| concrete.file_manager.items_per_page_options.2 | 50 |
| concrete.file_manager.items_per_page_options.3 | 100 |
| concrete.file_manager.items_per_page_options.4 | 250 |
| concrete.file_manager.results | 10 |
| concrete.search_users.results | 10 |
| concrete.sitemap_xml.file | sitemap.xml |
| concrete.sitemap_xml.frequency | weekly |
| concrete.sitemap_xml.priority | 0.5 |
| concrete.accessibility.toolbar_titles | false |
| concrete.accessibility.toolbar_large_font | false |
| concrete.accessibility.display_help_system | true |
| concrete.accessibility.toolbar_tooltips | true |
| concrete.i18n.choose_language_login | false |
| concrete.i18n.auto_install_package_languages | true |
| concrete.i18n.community_translation.entry_point | http://translate.concrete5.org/api |
| concrete.i18n.community_translation.api_token | |
| concrete.i18n.community_translation.progress_limit | 60 |
| concrete.i18n.community_translation.cache_lifetime | 3600 |
| concrete.i18n.community_translation.package_url | https://translate.concrete5.org/translate/package |
| concrete.urls.concrete5 | http://www.concrete5.org |
| concrete.urls.concrete5_secure | https://www.concrete5.org |
| concrete.urls.newsflow | http://newsflow.concrete5.org |
| concrete.urls.background_feed | //backgroundimages.concrete5.org/wallpaper |
| concrete.urls.privacy_policy | //www.concrete5.org/legal/privacy-policy |
| concrete.urls.background_feed_secure | https://backgroundimages.concrete5.org/wallpaper |
| concrete.urls.background_info | http://backgroundimages.concrete5.org/get_image_data.php |
| concrete.urls.videos | https://www.youtube.com/user/concrete5cms/videos |
| concrete.urls.help.developer | http://documentation.concrete5.org/developers |
| concrete.urls.help.user | http://documentation.concrete5.org/editors |
| concrete.urls.help.forum | http://www.concrete5.org/community/forums |
| concrete.urls.help.slack | https://www.concrete5.org/slack |
| concrete.urls.paths.menu_help_service | /tools/get_remote_help_list/ |
| concrete.urls.paths.site_page | /private/sites |
| concrete.urls.paths.newsflow_slot_content | /tools/slot_content/ |
| concrete.urls.paths.marketplace.connect | /marketplace/connect |
| concrete.urls.paths.marketplace.connect_success | /marketplace/connect/-/connected |
| concrete.urls.paths.marketplace.connect_validate | /marketplace/connect/-/validate |
| concrete.urls.paths.marketplace.connect_new_token | /marketplace/connect/-/generate_token |
| concrete.urls.paths.marketplace.checkout | /cart/-/add |
| concrete.urls.paths.marketplace.purchases | /marketplace/connect/-/get_available_licenses |
| concrete.urls.paths.marketplace.item_information | /marketplace/connect/-/get_item_information |
| concrete.urls.paths.marketplace.item_free_license | /marketplace/connect/-/enable_free_license |
| concrete.urls.paths.marketplace.remote_item_list | /marketplace/ |
| concrete.white_label.logo | false |
| concrete.white_label.name | false |
| concrete.white_label.background_image | null |
| concrete.session.name | CONCRETE5 |
| concrete.session.handler | file |
| concrete.session.redis.database | 1 |
| concrete.session.save_path | null |
| concrete.session.max_lifetime | 7200 |
| concrete.session.gc_probability | 1 |
| concrete.session.gc_divisor | 100 |
| concrete.session.cookie.cookie_path | false |
| concrete.session.cookie.cookie_lifetime | 0 |
| concrete.session.cookie.cookie_domain | false |
| concrete.session.cookie.cookie_secure | false |
| concrete.session.cookie.cookie_httponly | true |
| concrete.session.cookie.cookie_raw | false |
| concrete.session.cookie.cookie_samesite | null |
| concrete.session.remember_me.lifetime | 1209600 |
| concrete.user.registration.enabled | false |
| concrete.user.registration.type | disabled |
| concrete.user.registration.captcha | true |
| concrete.user.registration.email_registration | false |
| concrete.user.registration.display_username_field | true |
| concrete.user.registration.display_confirm_password_field | true |
| concrete.user.registration.validate_email | false |
| concrete.user.registration.approval | false |
| concrete.user.registration.notification | false |
| concrete.user.group.badge.default_point_value | 50 |
| concrete.user.username.maximum | 64 |
| concrete.user.username.minimum | 3 |
| concrete.user.username.allowed_characters.boundary | A-Za-z0-9 |
| concrete.user.username.allowed_characters.middle | A-Za-z0-9_\. |
| concrete.user.username.allowed_characters.requirement_string | A username may only contain letters, numbers, dots (not at the beginning/end), and underscores (not at the beginning/end). |
| concrete.user.username.allowed_characters.error_string | A username may only contain letters, numbers, dots (not at the beginning/end), and underscores (not at the beginning/end). |
| concrete.user.password.maximum | 128 |
| concrete.user.password.minimum | 5 |
| concrete.user.password.required_special_characters | 0 |
| concrete.user.password.required_lower_case | 0 |
| concrete.user.password.required_upper_case | 0 |
| concrete.user.password.reuse | 0 |
| concrete.user.password.hash_portable | false |
| concrete.user.password.hash_cost_log2 | 12 |
| concrete.user.password.legacy_salt | |
| concrete.user.email.test_mx_record | false |
| concrete.user.email.strict | true |
| concrete.user.private_messages.throttle_max | 20 |
| concrete.user.private_messages.throttle_max_timespan | 15 |
| concrete.user.deactivation.enable_login_threshold_deactivation | false |
| concrete.user.deactivation.login.threshold | 120 |
| concrete.user.deactivation.authentication_failure.enabled | false |
| concrete.user.deactivation.authentication_failure.amount | 5 |
| concrete.user.deactivation.authentication_failure.duration | 300 |
| concrete.user.deactivation.message | This user is inactive. Please contact us regarding this account. |
| concrete.spam.whitelist_group | 0 |
| concrete.spam.notify_email | |
| concrete.calendar.colors.text | #ffffff |
| concrete.calendar.colors.background | #3A87AD |
| concrete.security.session.invalidate_on_user_agent_mismatch | true |
| concrete.security.session.invalidate_on_ip_mismatch | true |
| concrete.security.session.invalidate_inactive_users.enabled | false |
| concrete.security.session.invalidate_inactive_users.time | 300 |
| concrete.security.misc.x_frame_options | SAMEORIGIN |
| concrete.permissions.forward_to_login | true |
| concrete.permissions.model | simple |
| concrete.seo.exclude_words | a, an, as, at, before, but, by, for, from, is, in, into, like, of, off, on, onto, per, since, than, the, this, that, to, up, via, with |
| concrete.seo.url_rewriting | true |
| concrete.seo.url_rewriting_all | false |
| concrete.seo.redirect_to_canonical_url | 0 |
| concrete.seo.canonical_url | null |
| concrete.seo.canonical_url_alternative | null |
| concrete.seo.trailing_slash | false |
| concrete.seo.title_format | %2$s :: %1$s |
| concrete.seo.title_segment_separator | :: |
| concrete.seo.page_path_separator | - |
| concrete.seo.group_name_separator | / |
| concrete.seo.segment_max_length | 128 |
| concrete.seo.paging_string | ccm_paging_p |
| concrete.statistics.track_downloads | true |
| concrete.limits.sitemap_pages | 100 |
| concrete.limits.delete_pages | 100 |
| concrete.limits.copy_pages | 10 |
| concrete.limits.page_search_index_batch | 200 |
| concrete.limits.job_queue_batch | 10 |
| concrete.limits.style_customizer.size_min | -50 |
| concrete.limits.style_customizer.size_max | 200 |
| concrete.page.search.always_reindex | false |
| concrete.composer.idle_timeout | 1 |
| concrete.api.enabled | false |
| concrete.api.grant_types.client_credentials | true |
| concrete.api.grant_types.authorization_code | true |
| concrete.api.grant_types.password_credentials | false |
| concrete.api.grant_types.refresh_token | true |
| concrete.mutex.semaphore.priority | 100 |
| concrete.mutex.semaphore.class | Concrete\Core\System\Mutex\SemaphoreMutex |
| concrete.mutex.file_lock.priority | 50 |
| concrete.mutex.file_lock.class | Concrete\Core\System\Mutex\FileLockMutex |
| concrete.style_customizer.updater.ignored_values.preset-fonts-file | Concrete\Core\StyleCustomizer\Style\Value\BasicValue |
| concrete.version_db_installed | 20201116182100 |
| concrete.maintenance.version_job_page_num | 188 |
| concrete.site | Te Plate ICT |
| Key | Value |
| CONCRETE5 | 69879f2f0128731add2cf9a4da90cdd1 |
| Key | Value |
| _sf2_attributes | Array ( [multilingual_default_locale] => nl_NL [uGroups] => Array ( [1] => 1 ) ) |
| _symfony_flashes | Array ( ) |
| _sf2_meta | Array ( [u] => 1793636014 [c] => 1793635920 [l] => 0 ) |
| Key | Value |
| USER | teplateuser1 |
| HOME | /home/.sites/111/site30/.users/130/teplateuser1 |
| SCRIPT_NAME | /index.php |
| REQUEST_URI | /over-te-plate-ict/vacatures-aanvragen |
| QUERY_STRING | |
| REQUEST_METHOD | GET |
| SERVER_PROTOCOL | HTTP/1.1 |
| GATEWAY_INTERFACE | CGI/1.1 |
| REDIRECT_URL | /over-te-plate-ict/vacatures-aanvragen |
| REMOTE_PORT | 62584 |
| SCRIPT_FILENAME | /home/.sites/111/site30/web/index.php |
| SERVER_ADMIN | admin |
| CONTEXT_DOCUMENT_ROOT | /home/.sites/111/site30/web |
| CONTEXT_PREFIX | |
| REQUEST_SCHEME | https |
| DOCUMENT_ROOT | /home/.sites/111/site30/web |
| REMOTE_ADDR | 185.238.53.15 |
| SERVER_PORT | 443 |
| SERVER_ADDR | 185.238.55.171 |
| SERVER_NAME | new.teplate.nl |
| SERVER_SOFTWARE | Apache |
| SERVER_SIGNATURE | |
| PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin |
| HTTP_COOKIE | CONCRETE5=69879f2f0128731add2cf9a4da90cdd1 |
| HTTP_ACCEPT_ENCODING | gzip, deflate, br, zstd, identity;q=0.9 |
| HTTP_ACCEPT_LANGUAGE | nl, en, * |
| HTTP_ACCEPT | text/html,image/png,image/jpeg,image/pjpeg,image/x-xbitmap,image/svg+xml,image/gif;q=0.9,*/*;q=0.1 |
| HTTP_USER_AGENT | Mozilla/5.0 (compatible; HTTrack/3.x; +https://www.httrack.com/) |
| HTTP_HOST | new.teplate.nl |
| HTTP_CONNECTION | keep-alive |
| HTTP_REFERER | https://new.teplate.nl/index.php |
| SSL_CLIENT_CERT | |
| SSL_SERVER_CERT | -----BEGIN CERTIFICATE----- MIIGmzCCBYOgAwIBAgISBjPd8uKKsBrGY6vSBAa0Q5qEMA0GCSqGSIb3DQEBCwUA MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD EwNZUjEwHhcNMjYwOTAyMDAxMjEzWhcNMjYxMjAxMDAxMjEyWjAZMRcwFQYDVQQD Ew53d3cudGVwbGF0ZS5ubDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB ALH6G27dgjPQEzrHHgnD7UIzM1HDsWtdMEJ29+2H8wzm61aVpoAl2RgBcicmsKlZ pXS01zRfbVfkWDvEopsvlK5eGkOY0/hxD8CLsid1lEnr2rZ26hQ6gyF/drordAOG m5MO7Pc1c4QzFjyXG7pp+OqNNAzaGVRS2xhdRWP6qljWtl4nG3FQ+cSqs6VdGXlH JnysaG00f+QD3LTv4kGFwRGMNwW0GqLSwRqPlnop2iHY0x8DOOoQGc6nzHaW9yww 6nKdsafaY1P/HYSx79enUlGWc1Rucs9VWnNTohPAjC3BQSPOigzGtWb2wxYngARV bRRnhK+yCrtERyRSxEiQf7XV+40ep+91sG3wEv88HENVStojwWePbc28nF+gjo2s NwElyv6vHtGDYYGMPnOiCxDi0D6QmrQ5jUQ05clLSU7k4Wr8tjptyYmZ5n0U5D17 tHd+rvxl60Us7sTZ+YfJgBVun/1qINAJ/vS8oEgWQ4V93gilYLRgS06UUjwCEODM x5Tu8v9GOzH7HVYEJWHsGZEtXoMIVCz1I3afRpXBs3+qxTom75Bp4Sr9iV1X9L9e TkNVH+YY72D5JmIvKs9KQ29d93I5v+wnL5wu6hLGmXjXS8Sr8N9RNWooEwDV9mOo SJAsUa2L4jvINey6aboHhgzslpcBJytcMI5ZNm6uiz6ZAgMBAAGjggLBMIICvTAO BgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIw ADAdBgNVHQ4EFgQUK9ECLV2E+VXL2/eL6YSiVJU0Fj8wHwYDVR0jBBgwFoAUHy81 vkYUgs1Asa55LFV4+vfUaPswMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzAChhdo dHRwOi8veXIxLmkubGVuY3Iub3JnLzCBvwYDVR0RBIG3MIG0gghpbmRpcy5sdIII aW5kaXMubmyCDm5ldy50ZXBsYXRlLm5sggt0ZS1wbGF0ZS5ubIILdGVwbGF0ZS5j b22CCnRlcGxhdGUuZXWCCnRlcGxhdGUubmyCDHd3dy5pbmRpcy5sdIIMd3d3Lmlu ZGlzLm5sgg93d3cudGUtcGxhdGUubmyCD3d3dy50ZXBsYXRlLmNvbYIOd3d3LnRl cGxhdGUuZXWCDnd3dy50ZXBsYXRlLm5sMBMGA1UdIAQMMAowCAYGZ4EMAQIBMC0G A1UdHwQmMCQwIqAgoB6GHGh0dHA6Ly95cjEuYy5sZW5jci5vcmcvNS5jcmwwggEL BgorBgEEAdZ5AgQCBIH8BIH5APcAfgBGr4Y9Oz7ln6V33qgkXTaw2e0ioiP0YXdB IpRS7pVQXwAAAaBfqxeYAAgAAAUAIqwmIQQDAEcwRQIhAN3NwgmIRwTOE5MkoYb9 217XSIbq9ON9zhKErDxsV7pkAiARgZMYbSuyp9cPQ2k54CprDFs76whQteRpZqrd mEHnzQB1AJROQ4f67MHvgfMZJCaoGGUBx9NfOAIBP3JnfVU3LhnYAAABoF+rJoIA AAQDAEYwRAIgX551DprLpvDmrbusTCNUIf/yv/0NrfeBk7tCYu/sbNQCIHIIplX+ 6XVIz2acAJai6L5JoH3m/pGqhjBfXNOXzE1xMA0GCSqGSIb3DQEBCwUAA4IBAQAd PJ9Yvc47wkW0cq/P2cxEYJR+xptc2dSIfVG2WT2FRUuTuXJXdugVpacJzUjI3d1C FlstAj7/qtDADNnkpR81QC7K2PgWnuZh0/5BPQ6vGrgXNxlVJJxlwW9touqebUSS QC42nbqHX0eRvW4k5OiFN6OVQ0rdC9huJbFyZTmw1Y5SXdCoQBWL+K0ezTil+pk4 uECJ2z/Xm9MKWZAVSPdIsvDOekwlQZUxX95hM5wMmJrN4qUxgvSobMvh0iH3Hcod DEGacFAKkhhYXZpwYhihHtKxMNKFUIkQAnbtPPvYcAsWpVUJqPFjFGcCcR8x1pWa 8uaxnzNsUnoLksZ0ZS8D -----END CERTIFICATE----- |
| SSL_TLS_SNI | new.teplate.nl |
| HTTPS | on |
| SCRIPT_URI | https://new.teplate.nl/over-te-plate-ict/vacatures-aanvragen |
| SCRIPT_URL | /over-te-plate-ict/vacatures-aanvragen |
| UNIQUE_ID | aui2rrcYEMYQoqtK-eGjXQAAAAE |
| REDIRECT_STATUS | 200 |
| REDIRECT_SSL_CLIENT_CERT | |
| REDIRECT_SSL_SERVER_CERT | -----BEGIN CERTIFICATE----- MIIGmzCCBYOgAwIBAgISBjPd8uKKsBrGY6vSBAa0Q5qEMA0GCSqGSIb3DQEBCwUA MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD EwNZUjEwHhcNMjYwOTAyMDAxMjEzWhcNMjYxMjAxMDAxMjEyWjAZMRcwFQYDVQQD Ew53d3cudGVwbGF0ZS5ubDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB ALH6G27dgjPQEzrHHgnD7UIzM1HDsWtdMEJ29+2H8wzm61aVpoAl2RgBcicmsKlZ pXS01zRfbVfkWDvEopsvlK5eGkOY0/hxD8CLsid1lEnr2rZ26hQ6gyF/drordAOG m5MO7Pc1c4QzFjyXG7pp+OqNNAzaGVRS2xhdRWP6qljWtl4nG3FQ+cSqs6VdGXlH JnysaG00f+QD3LTv4kGFwRGMNwW0GqLSwRqPlnop2iHY0x8DOOoQGc6nzHaW9yww 6nKdsafaY1P/HYSx79enUlGWc1Rucs9VWnNTohPAjC3BQSPOigzGtWb2wxYngARV bRRnhK+yCrtERyRSxEiQf7XV+40ep+91sG3wEv88HENVStojwWePbc28nF+gjo2s NwElyv6vHtGDYYGMPnOiCxDi0D6QmrQ5jUQ05clLSU7k4Wr8tjptyYmZ5n0U5D17 tHd+rvxl60Us7sTZ+YfJgBVun/1qINAJ/vS8oEgWQ4V93gilYLRgS06UUjwCEODM x5Tu8v9GOzH7HVYEJWHsGZEtXoMIVCz1I3afRpXBs3+qxTom75Bp4Sr9iV1X9L9e TkNVH+YY72D5JmIvKs9KQ29d93I5v+wnL5wu6hLGmXjXS8Sr8N9RNWooEwDV9mOo SJAsUa2L4jvINey6aboHhgzslpcBJytcMI5ZNm6uiz6ZAgMBAAGjggLBMIICvTAO BgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIw ADAdBgNVHQ4EFgQUK9ECLV2E+VXL2/eL6YSiVJU0Fj8wHwYDVR0jBBgwFoAUHy81 vkYUgs1Asa55LFV4+vfUaPswMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzAChhdo dHRwOi8veXIxLmkubGVuY3Iub3JnLzCBvwYDVR0RBIG3MIG0gghpbmRpcy5sdIII aW5kaXMubmyCDm5ldy50ZXBsYXRlLm5sggt0ZS1wbGF0ZS5ubIILdGVwbGF0ZS5j b22CCnRlcGxhdGUuZXWCCnRlcGxhdGUubmyCDHd3dy5pbmRpcy5sdIIMd3d3Lmlu ZGlzLm5sgg93d3cudGUtcGxhdGUubmyCD3d3dy50ZXBsYXRlLmNvbYIOd3d3LnRl cGxhdGUuZXWCDnd3dy50ZXBsYXRlLm5sMBMGA1UdIAQMMAowCAYGZ4EMAQIBMC0G A1UdHwQmMCQwIqAgoB6GHGh0dHA6Ly95cjEuYy5sZW5jci5vcmcvNS5jcmwwggEL BgorBgEEAdZ5AgQCBIH8BIH5APcAfgBGr4Y9Oz7ln6V33qgkXTaw2e0ioiP0YXdB IpRS7pVQXwAAAaBfqxeYAAgAAAUAIqwmIQQDAEcwRQIhAN3NwgmIRwTOE5MkoYb9 217XSIbq9ON9zhKErDxsV7pkAiARgZMYbSuyp9cPQ2k54CprDFs76whQteRpZqrd mEHnzQB1AJROQ4f67MHvgfMZJCaoGGUBx9NfOAIBP3JnfVU3LhnYAAABoF+rJoIA AAQDAEYwRAIgX551DprLpvDmrbusTCNUIf/yv/0NrfeBk7tCYu/sbNQCIHIIplX+ 6XVIz2acAJai6L5JoH3m/pGqhjBfXNOXzE1xMA0GCSqGSIb3DQEBCwUAA4IBAQAd PJ9Yvc47wkW0cq/P2cxEYJR+xptc2dSIfVG2WT2FRUuTuXJXdugVpacJzUjI3d1C FlstAj7/qtDADNnkpR81QC7K2PgWnuZh0/5BPQ6vGrgXNxlVJJxlwW9touqebUSS QC42nbqHX0eRvW4k5OiFN6OVQ0rdC9huJbFyZTmw1Y5SXdCoQBWL+K0ezTil+pk4 uECJ2z/Xm9MKWZAVSPdIsvDOekwlQZUxX95hM5wMmJrN4qUxgvSobMvh0iH3Hcod DEGacFAKkhhYXZpwYhihHtKxMNKFUIkQAnbtPPvYcAsWpVUJqPFjFGcCcR8x1pWa 8uaxnzNsUnoLksZ0ZS8D -----END CERTIFICATE----- |
| REDIRECT_SSL_TLS_SNI | new.teplate.nl |
| REDIRECT_HTTPS | on |
| REDIRECT_SCRIPT_URI | https://new.teplate.nl/over-te-plate-ict/vacatures-aanvragen |
| REDIRECT_SCRIPT_URL | /over-te-plate-ict/vacatures-aanvragen |
| REDIRECT_UNIQUE_ID | aui2rrcYEMYQoqtK-eGjXQAAAAE |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1793636014.0882 |
| REQUEST_TIME | 1793636014 |
| Key | Value |
| USER | teplateuser1 |
| HOME | /home/.sites/111/site30/.users/130/teplateuser1 |
| SCRIPT_NAME | /index.php |
| REQUEST_URI | /over-te-plate-ict/vacatures-aanvragen |
| QUERY_STRING | |
| REQUEST_METHOD | GET |
| SERVER_PROTOCOL | HTTP/1.1 |
| GATEWAY_INTERFACE | CGI/1.1 |
| REDIRECT_URL | /over-te-plate-ict/vacatures-aanvragen |
| REMOTE_PORT | 62584 |
| SCRIPT_FILENAME | /home/.sites/111/site30/web/index.php |
| SERVER_ADMIN | admin |
| CONTEXT_DOCUMENT_ROOT | /home/.sites/111/site30/web |
| CONTEXT_PREFIX | |
| REQUEST_SCHEME | https |
| DOCUMENT_ROOT | /home/.sites/111/site30/web |
| REMOTE_ADDR | 185.238.53.15 |
| SERVER_PORT | 443 |
| SERVER_ADDR | 185.238.55.171 |
| SERVER_NAME | new.teplate.nl |
| SERVER_SOFTWARE | Apache |
| SERVER_SIGNATURE | |
| PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin |
| HTTP_COOKIE | CONCRETE5=69879f2f0128731add2cf9a4da90cdd1 |
| HTTP_ACCEPT_ENCODING | gzip, deflate, br, zstd, identity;q=0.9 |
| HTTP_ACCEPT_LANGUAGE | nl, en, * |
| HTTP_ACCEPT | text/html,image/png,image/jpeg,image/pjpeg,image/x-xbitmap,image/svg+xml,image/gif;q=0.9,*/*;q=0.1 |
| HTTP_USER_AGENT | Mozilla/5.0 (compatible; HTTrack/3.x; +https://www.httrack.com/) |
| HTTP_HOST | new.teplate.nl |
| HTTP_CONNECTION | keep-alive |
| HTTP_REFERER | https://new.teplate.nl/index.php |
| SSL_CLIENT_CERT | |
| SSL_SERVER_CERT | -----BEGIN CERTIFICATE----- MIIGmzCCBYOgAwIBAgISBjPd8uKKsBrGY6vSBAa0Q5qEMA0GCSqGSIb3DQEBCwUA MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD EwNZUjEwHhcNMjYwOTAyMDAxMjEzWhcNMjYxMjAxMDAxMjEyWjAZMRcwFQYDVQQD Ew53d3cudGVwbGF0ZS5ubDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB ALH6G27dgjPQEzrHHgnD7UIzM1HDsWtdMEJ29+2H8wzm61aVpoAl2RgBcicmsKlZ pXS01zRfbVfkWDvEopsvlK5eGkOY0/hxD8CLsid1lEnr2rZ26hQ6gyF/drordAOG m5MO7Pc1c4QzFjyXG7pp+OqNNAzaGVRS2xhdRWP6qljWtl4nG3FQ+cSqs6VdGXlH JnysaG00f+QD3LTv4kGFwRGMNwW0GqLSwRqPlnop2iHY0x8DOOoQGc6nzHaW9yww 6nKdsafaY1P/HYSx79enUlGWc1Rucs9VWnNTohPAjC3BQSPOigzGtWb2wxYngARV bRRnhK+yCrtERyRSxEiQf7XV+40ep+91sG3wEv88HENVStojwWePbc28nF+gjo2s NwElyv6vHtGDYYGMPnOiCxDi0D6QmrQ5jUQ05clLSU7k4Wr8tjptyYmZ5n0U5D17 tHd+rvxl60Us7sTZ+YfJgBVun/1qINAJ/vS8oEgWQ4V93gilYLRgS06UUjwCEODM x5Tu8v9GOzH7HVYEJWHsGZEtXoMIVCz1I3afRpXBs3+qxTom75Bp4Sr9iV1X9L9e TkNVH+YY72D5JmIvKs9KQ29d93I5v+wnL5wu6hLGmXjXS8Sr8N9RNWooEwDV9mOo SJAsUa2L4jvINey6aboHhgzslpcBJytcMI5ZNm6uiz6ZAgMBAAGjggLBMIICvTAO BgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIw ADAdBgNVHQ4EFgQUK9ECLV2E+VXL2/eL6YSiVJU0Fj8wHwYDVR0jBBgwFoAUHy81 vkYUgs1Asa55LFV4+vfUaPswMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzAChhdo dHRwOi8veXIxLmkubGVuY3Iub3JnLzCBvwYDVR0RBIG3MIG0gghpbmRpcy5sdIII aW5kaXMubmyCDm5ldy50ZXBsYXRlLm5sggt0ZS1wbGF0ZS5ubIILdGVwbGF0ZS5j b22CCnRlcGxhdGUuZXWCCnRlcGxhdGUubmyCDHd3dy5pbmRpcy5sdIIMd3d3Lmlu ZGlzLm5sgg93d3cudGUtcGxhdGUubmyCD3d3dy50ZXBsYXRlLmNvbYIOd3d3LnRl cGxhdGUuZXWCDnd3dy50ZXBsYXRlLm5sMBMGA1UdIAQMMAowCAYGZ4EMAQIBMC0G A1UdHwQmMCQwIqAgoB6GHGh0dHA6Ly95cjEuYy5sZW5jci5vcmcvNS5jcmwwggEL BgorBgEEAdZ5AgQCBIH8BIH5APcAfgBGr4Y9Oz7ln6V33qgkXTaw2e0ioiP0YXdB IpRS7pVQXwAAAaBfqxeYAAgAAAUAIqwmIQQDAEcwRQIhAN3NwgmIRwTOE5MkoYb9 217XSIbq9ON9zhKErDxsV7pkAiARgZMYbSuyp9cPQ2k54CprDFs76whQteRpZqrd mEHnzQB1AJROQ4f67MHvgfMZJCaoGGUBx9NfOAIBP3JnfVU3LhnYAAABoF+rJoIA AAQDAEYwRAIgX551DprLpvDmrbusTCNUIf/yv/0NrfeBk7tCYu/sbNQCIHIIplX+ 6XVIz2acAJai6L5JoH3m/pGqhjBfXNOXzE1xMA0GCSqGSIb3DQEBCwUAA4IBAQAd PJ9Yvc47wkW0cq/P2cxEYJR+xptc2dSIfVG2WT2FRUuTuXJXdugVpacJzUjI3d1C FlstAj7/qtDADNnkpR81QC7K2PgWnuZh0/5BPQ6vGrgXNxlVJJxlwW9touqebUSS QC42nbqHX0eRvW4k5OiFN6OVQ0rdC9huJbFyZTmw1Y5SXdCoQBWL+K0ezTil+pk4 uECJ2z/Xm9MKWZAVSPdIsvDOekwlQZUxX95hM5wMmJrN4qUxgvSobMvh0iH3Hcod DEGacFAKkhhYXZpwYhihHtKxMNKFUIkQAnbtPPvYcAsWpVUJqPFjFGcCcR8x1pWa 8uaxnzNsUnoLksZ0ZS8D -----END CERTIFICATE----- |
| SSL_TLS_SNI | new.teplate.nl |
| HTTPS | on |
| SCRIPT_URI | https://new.teplate.nl/over-te-plate-ict/vacatures-aanvragen |
| SCRIPT_URL | /over-te-plate-ict/vacatures-aanvragen |
| UNIQUE_ID | aui2rrcYEMYQoqtK-eGjXQAAAAE |
| REDIRECT_STATUS | 200 |
| REDIRECT_SSL_CLIENT_CERT | |
| REDIRECT_SSL_SERVER_CERT | -----BEGIN CERTIFICATE----- MIIGmzCCBYOgAwIBAgISBjPd8uKKsBrGY6vSBAa0Q5qEMA0GCSqGSIb3DQEBCwUA MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD EwNZUjEwHhcNMjYwOTAyMDAxMjEzWhcNMjYxMjAxMDAxMjEyWjAZMRcwFQYDVQQD Ew53d3cudGVwbGF0ZS5ubDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB ALH6G27dgjPQEzrHHgnD7UIzM1HDsWtdMEJ29+2H8wzm61aVpoAl2RgBcicmsKlZ pXS01zRfbVfkWDvEopsvlK5eGkOY0/hxD8CLsid1lEnr2rZ26hQ6gyF/drordAOG m5MO7Pc1c4QzFjyXG7pp+OqNNAzaGVRS2xhdRWP6qljWtl4nG3FQ+cSqs6VdGXlH JnysaG00f+QD3LTv4kGFwRGMNwW0GqLSwRqPlnop2iHY0x8DOOoQGc6nzHaW9yww 6nKdsafaY1P/HYSx79enUlGWc1Rucs9VWnNTohPAjC3BQSPOigzGtWb2wxYngARV bRRnhK+yCrtERyRSxEiQf7XV+40ep+91sG3wEv88HENVStojwWePbc28nF+gjo2s NwElyv6vHtGDYYGMPnOiCxDi0D6QmrQ5jUQ05clLSU7k4Wr8tjptyYmZ5n0U5D17 tHd+rvxl60Us7sTZ+YfJgBVun/1qINAJ/vS8oEgWQ4V93gilYLRgS06UUjwCEODM x5Tu8v9GOzH7HVYEJWHsGZEtXoMIVCz1I3afRpXBs3+qxTom75Bp4Sr9iV1X9L9e TkNVH+YY72D5JmIvKs9KQ29d93I5v+wnL5wu6hLGmXjXS8Sr8N9RNWooEwDV9mOo SJAsUa2L4jvINey6aboHhgzslpcBJytcMI5ZNm6uiz6ZAgMBAAGjggLBMIICvTAO BgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIw ADAdBgNVHQ4EFgQUK9ECLV2E+VXL2/eL6YSiVJU0Fj8wHwYDVR0jBBgwFoAUHy81 vkYUgs1Asa55LFV4+vfUaPswMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzAChhdo dHRwOi8veXIxLmkubGVuY3Iub3JnLzCBvwYDVR0RBIG3MIG0gghpbmRpcy5sdIII aW5kaXMubmyCDm5ldy50ZXBsYXRlLm5sggt0ZS1wbGF0ZS5ubIILdGVwbGF0ZS5j b22CCnRlcGxhdGUuZXWCCnRlcGxhdGUubmyCDHd3dy5pbmRpcy5sdIIMd3d3Lmlu ZGlzLm5sgg93d3cudGUtcGxhdGUubmyCD3d3dy50ZXBsYXRlLmNvbYIOd3d3LnRl cGxhdGUuZXWCDnd3dy50ZXBsYXRlLm5sMBMGA1UdIAQMMAowCAYGZ4EMAQIBMC0G A1UdHwQmMCQwIqAgoB6GHGh0dHA6Ly95cjEuYy5sZW5jci5vcmcvNS5jcmwwggEL BgorBgEEAdZ5AgQCBIH8BIH5APcAfgBGr4Y9Oz7ln6V33qgkXTaw2e0ioiP0YXdB IpRS7pVQXwAAAaBfqxeYAAgAAAUAIqwmIQQDAEcwRQIhAN3NwgmIRwTOE5MkoYb9 217XSIbq9ON9zhKErDxsV7pkAiARgZMYbSuyp9cPQ2k54CprDFs76whQteRpZqrd mEHnzQB1AJROQ4f67MHvgfMZJCaoGGUBx9NfOAIBP3JnfVU3LhnYAAABoF+rJoIA AAQDAEYwRAIgX551DprLpvDmrbusTCNUIf/yv/0NrfeBk7tCYu/sbNQCIHIIplX+ 6XVIz2acAJai6L5JoH3m/pGqhjBfXNOXzE1xMA0GCSqGSIb3DQEBCwUAA4IBAQAd PJ9Yvc47wkW0cq/P2cxEYJR+xptc2dSIfVG2WT2FRUuTuXJXdugVpacJzUjI3d1C FlstAj7/qtDADNnkpR81QC7K2PgWnuZh0/5BPQ6vGrgXNxlVJJxlwW9touqebUSS QC42nbqHX0eRvW4k5OiFN6OVQ0rdC9huJbFyZTmw1Y5SXdCoQBWL+K0ezTil+pk4 uECJ2z/Xm9MKWZAVSPdIsvDOekwlQZUxX95hM5wMmJrN4qUxgvSobMvh0iH3Hcod DEGacFAKkhhYXZpwYhihHtKxMNKFUIkQAnbtPPvYcAsWpVUJqPFjFGcCcR8x1pWa 8uaxnzNsUnoLksZ0ZS8D -----END CERTIFICATE----- |
| REDIRECT_SSL_TLS_SNI | new.teplate.nl |
| REDIRECT_HTTPS | on |
| REDIRECT_SCRIPT_URI | https://new.teplate.nl/over-te-plate-ict/vacatures-aanvragen |
| REDIRECT_SCRIPT_URL | /over-te-plate-ict/vacatures-aanvragen |
| REDIRECT_UNIQUE_ID | aui2rrcYEMYQoqtK-eGjXQAAAAE |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1793636014.0882 |
| REQUEST_TIME | 1793636014 |