LnRiLWhlYWRpbmcuaGFzLWJhY2tncm91bmR7cGFkZGluZzowfQ==
LnRiLWZpZWxke21hcmdpbi1ib3R0b206MC43NmVtfS50Yi1maWVsZC0tbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRiLWZpZWxkLS1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRiLWZpZWxkLS1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fS50Yi1maWVsZF9fc2t5cGVfcHJldmlld3twYWRkaW5nOjEwcHggMjBweDtib3JkZXItcmFkaXVzOjNweDtjb2xvcjojZmZmO2JhY2tncm91bmQ6IzAwYWZlZTtkaXNwbGF5OmlubGluZS1ibG9ja311bC5nbGlkZV9fc2xpZGVze21hcmdpbjowfQ==
LnRiLWJ1dHRvbntjb2xvcjojZjFmMWYxfS50Yi1idXR0b24tLWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS50Yi1idXR0b24tLWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcn0udGItYnV0dG9uLS1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fS50Yi1idXR0b25fX2xpbmt7Y29sb3I6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoxMDAlO3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpjZW50ZXI7dHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlfS50Yi1idXR0b25fX2xpbms6aG92ZXIsLnRiLWJ1dHRvbl9fbGluazpmb2N1cywudGItYnV0dG9uX19saW5rOnZpc2l0ZWR7Y29sb3I6aW5oZXJpdH0udGItYnV0dG9uX19saW5rOmhvdmVyIC50Yi1idXR0b25fX2NvbnRlbnQsLnRiLWJ1dHRvbl9fbGluazpmb2N1cyAudGItYnV0dG9uX19jb250ZW50LC50Yi1idXR0b25fX2xpbms6dmlzaXRlZCAudGItYnV0dG9uX19jb250ZW50e2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zdHlsZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LXNoYWRvdzppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXR9LnRiLWJ1dHRvbl9fY29udGVudHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7dHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlfS50Yi1idXR0b25fX2ljb257dHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtmb250LXN0eWxlOm5vcm1hbCAhaW1wb3J0YW50fS50Yi1idXR0b25fX2ljb246OmJlZm9yZXtjb250ZW50OmF0dHIoZGF0YS1mb250LWNvZGUpO2ZvbnQtd2VpZ2h0Om5vcm1hbCAhaW1wb3J0YW50fS50Yi1idXR0b25fX2xpbmt7YmFja2dyb3VuZC1jb2xvcjojNDQ0O2JvcmRlci1yYWRpdXM6MC4zZW07Zm9udC1zaXplOjEuM2VtO21hcmdpbi1ib3R0b206MC43NmVtO3BhZGRpbmc6MC41NWVtIDEuNWVtIDAuNTVlbX0gLnRiLWJ1dHRvbltkYXRhLXRvb2xzZXQtYmxvY2tzLWJ1dHRvbj0iMzJhYTQwMDg0ODc4MGZlMDZhYzk0MDA4MmI1ZDA4NzgiXSB7IHRleHQtYWxpZ246IHJpZ2h0OyB9IC50Yi1idXR0b25bZGF0YS10b29sc2V0LWJsb2Nrcy1idXR0b249IjMyYWE0MDA4NDg3ODBmZTA2YWM5NDAwODJiNWQwODc4Il0gLnRiLWJ1dHRvbl9fbGluayB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoIDI0NSwgMjQ1LCAyNDUsIDEgKTtjb2xvcjogcmdiYSggMTUzLCAxNTMsIDE1MywgMSApO3BhZGRpbmc6IDBweDtmb250LXNpemU6IDE2cHg7bGluZS1oZWlnaHQ6IDBweDtjb2xvcjogcmdiYSggMTUzLCAxNTMsIDE1MywgMSApOyB9IC50Yi1idXR0b25bZGF0YS10b29sc2V0LWJsb2Nrcy1idXR0b249IjMyYWE0MDA4NDg3ODBmZTA2YWM5NDAwODJiNWQwODc4Il0gLnRiLWJ1dHRvbl9fbGluazpob3ZlciB7IGNvbG9yOiByZ2JhKCAxMjAsIDYyLCAyMzcsIDEgKTtjb2xvcjogcmdiYSggMTIwLCA2MiwgMjM3LCAxICk7IH0gLnRiLWJ1dHRvbltkYXRhLXRvb2xzZXQtYmxvY2tzLWJ1dHRvbj0iMzJhYTQwMDg0ODc4MGZlMDZhYzk0MDA4MmI1ZDA4NzgiXSAudGItYnV0dG9uX19pY29uIHsgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO21hcmdpbi1sZWZ0OiA1cHg7IH0gLnRiLWJ1dHRvbltkYXRhLXRvb2xzZXQtYmxvY2tzLWJ1dHRvbj0iMzJhYTQwMDg0ODc4MGZlMDZhYzk0MDA4MmI1ZDA4NzgiXSAudGItYnV0dG9uX19pY29uOjpiZWZvcmUgeyBjb250ZW50OiAnXGYwZTUnOyB9IC50Yi1ncmlkLC50Yi1ncmlkPi5ibG9jay1lZGl0b3ItaW5uZXItYmxvY2tzPi5ibG9jay1lZGl0b3ItYmxvY2stbGlzdF9fbGF5b3V0e2Rpc3BsYXk6Z3JpZDtncmlkLXJvdy1nYXA6MjVweDtncmlkLWNvbHVtbi1nYXA6MjVweH0udGItZ3JpZC1pdGVte2JhY2tncm91bmQ6I2QzOGEwMztwYWRkaW5nOjMwcHh9LnRiLWdyaWQtY29sdW1ue2ZsZXgtd3JhcDp3cmFwfS50Yi1ncmlkLWNvbHVtbj4qe3dpZHRoOjEwMCV9LnRiLWdyaWQtY29sdW1uLnRiLWdyaWQtYWxpZ24tdG9we3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydH0udGItZ3JpZC1jb2x1bW4udGItZ3JpZC1hbGlnbi1jZW50ZXJ7d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24tY29udGVudDpjZW50ZXJ9LnRiLWdyaWQtY29sdW1uLnRiLWdyaWQtYWxpZ24tYm90dG9te3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2FsaWduLWNvbnRlbnQ6ZmxleC1lbmR9IC53cC1ibG9jay10b29sc2V0LWJsb2Nrcy1ncmlkLnRiLWdyaWRbZGF0YS10b29sc2V0LWJsb2Nrcy1ncmlkPSI0MzUwOTlmNmVhOTExYTdhMGVlNTk5YTMyNDU3OTY1MSJdIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMC43NDVmcikgbWlubWF4KDAsIDAuMjU1ZnIpO2dyaWQtY29sdW1uLWdhcDogNjBweDtncmlkLWF1dG8tZmxvdzogcm93IH0gLndwLWJsb2NrLXRvb2xzZXQtYmxvY2tzLWdyaWQudGItZ3JpZFtkYXRhLXRvb2xzZXQtYmxvY2tzLWdyaWQ9IjQzNTA5OWY2ZWE5MTFhN2EwZWU1OTlhMzI0NTc5NjUxIl0gPiAudGItZ3JpZC1jb2x1bW46bnRoLW9mLXR5cGUoMm4gKyAxKSB7IGdyaWQtY29sdW1uOiAxIH0gLndwLWJsb2NrLXRvb2xzZXQtYmxvY2tzLWdyaWQudGItZ3JpZFtkYXRhLXRvb2xzZXQtYmxvY2tzLWdyaWQ9IjQzNTA5OWY2ZWE5MTFhN2EwZWU1OTlhMzI0NTc5NjUxIl0gPiAudGItZ3JpZC1jb2x1bW46bnRoLW9mLXR5cGUoMm4gKyAyKSB7IGdyaWQtY29sdW1uOiAyIH0gLnRiLWdyaWQsLnRiLWdyaWQ+LmJsb2NrLWVkaXRvci1pbm5lci1ibG9ja3M+LmJsb2NrLWVkaXRvci1ibG9jay1saXN0X19sYXlvdXR7ZGlzcGxheTpncmlkO2dyaWQtcm93LWdhcDoyNXB4O2dyaWQtY29sdW1uLWdhcDoyNXB4fS50Yi1ncmlkLWl0ZW17YmFja2dyb3VuZDojZDM4YTAzO3BhZGRpbmc6MzBweH0udGItZ3JpZC1jb2x1bW57ZmxleC13cmFwOndyYXB9LnRiLWdyaWQtY29sdW1uPip7d2lkdGg6MTAwJX0udGItZ3JpZC1jb2x1bW4udGItZ3JpZC1hbGlnbi10b3B7d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0fS50Yi1ncmlkLWNvbHVtbi50Yi1ncmlkLWFsaWduLWNlbnRlcnt3aWR0aDoxMDAlO2Rpc3BsYXk6ZmxleDthbGlnbi1jb250ZW50OmNlbnRlcn0udGItZ3JpZC1jb2x1bW4udGItZ3JpZC1hbGlnbi1ib3R0b217d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24tY29udGVudDpmbGV4LWVuZH0gLndwdi12aWV3LW91dHB1dFtkYXRhLXRvb2xzZXQtdmlld3Mtdmlldy1lZGl0b3I9IjgyNzBmZWYyM2JhMWQzYWFlN2JlMTM3MmJlNzBlM2QwIl0gPiAudGItZ3JpZC1jb2x1bW46bnRoLW9mLXR5cGUoM24gKyAxKSB7IGdyaWQtY29sdW1uOiAxIH0gLndwdi12aWV3LW91dHB1dFtkYXRhLXRvb2xzZXQtdmlld3Mtdmlldy1lZGl0b3I9IjgyNzBmZWYyM2JhMWQzYWFlN2JlMTM3MmJlNzBlM2QwIl0gPiAudGItZ3JpZC1jb2x1bW46bnRoLW9mLXR5cGUoM24gKyAyKSB7IGdyaWQtY29sdW1uOiAyIH0gLndwdi12aWV3LW91dHB1dFtkYXRhLXRvb2xzZXQtdmlld3Mtdmlldy1lZGl0b3I9IjgyNzBmZWYyM2JhMWQzYWFlN2JlMTM3MmJlNzBlM2QwIl0gPiAudGItZ3JpZC1jb2x1bW46bnRoLW9mLXR5cGUoM24gKyAzKSB7IGdyaWQtY29sdW1uOiAzIH0gLndwdi12aWV3LW91dHB1dFtkYXRhLXRvb2xzZXQtdmlld3Mtdmlldy1lZGl0b3I9IjgyNzBmZWYyM2JhMWQzYWFlN2JlMTM3MmJlNzBlM2QwIl0gLmpzLXdwdi1sb29wLXdyYXBwZXIgPiAudGItZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDAuMzMzM2ZyKSBtaW5tYXgoMCwgMC4zMzMzZnIpIG1pbm1heCgwLCAwLjMzMzNmcik7Z3JpZC1hdXRvLWZsb3c6IHJvdyB9IC50Yi1jb250YWluZXIgLnRiLWNvbnRhaW5lci1pbm5lcnt3aWR0aDoxMDAlO21hcmdpbjowIGF1dG99IC53cC1ibG9jay10b29sc2V0LWJsb2Nrcy1jb250YWluZXIudGItY29udGFpbmVyW2RhdGEtdG9vbHNldC1ibG9ja3MtY29udGFpbmVyPSIxN2IwZjhmOWYxZWQ3MzgxN2I4OWE4Y2NmZDI0OWIyNiJdIHsgYmFja2dyb3VuZDogcmdiYSggMjQ1LCAyNDUsIDI0NSwgMSApO3BhZGRpbmc6IDMwcHg7bWFyZ2luLWJvdHRvbTogMzBweDsgfSBoMi50Yi1oZWFkaW5nW2RhdGEtdG9vbHNldC1ibG9ja3MtaGVhZGluZz0iMWJkNTljMmRjMTM2MDg1NzcyNWJhN2M3ODgyOGQyZWQiXSAgeyBmb250LXNpemU6IDE4cHg7cGFkZGluZy10b3A6IDBweDttYXJnaW4tdG9wOiAwcHg7IH0gIGgyLnRiLWhlYWRpbmdbZGF0YS10b29sc2V0LWJsb2Nrcy1oZWFkaW5nPSIxYmQ1OWMyZGMxMzYwODU3NzI1YmE3Yzc4ODI4ZDJlZCJdIGEgIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9IC50Yi1ncmlkLC50Yi1ncmlkPi5ibG9jay1lZGl0b3ItaW5uZXItYmxvY2tzPi5ibG9jay1lZGl0b3ItYmxvY2stbGlzdF9fbGF5b3V0e2Rpc3BsYXk6Z3JpZDtncmlkLXJvdy1nYXA6MjVweDtncmlkLWNvbHVtbi1nYXA6MjVweH0udGItZ3JpZC1pdGVte2JhY2tncm91bmQ6I2QzOGEwMztwYWRkaW5nOjMwcHh9LnRiLWdyaWQtY29sdW1ue2ZsZXgtd3JhcDp3cmFwfS50Yi1ncmlkLWNvbHVtbj4qe3dpZHRoOjEwMCV9LnRiLWdyaWQtY29sdW1uLnRiLWdyaWQtYWxpZ24tdG9we3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydH0udGItZ3JpZC1jb2x1bW4udGItZ3JpZC1hbGlnbi1jZW50ZXJ7d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24tY29udGVudDpjZW50ZXJ9LnRiLWdyaWQtY29sdW1uLnRiLWdyaWQtYWxpZ24tYm90dG9te3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2FsaWduLWNvbnRlbnQ6ZmxleC1lbmR9IC53cC1ibG9jay10b29sc2V0LWJsb2Nrcy1ncmlkLnRiLWdyaWRbZGF0YS10b29sc2V0LWJsb2Nrcy1ncmlkPSI0NWFiYzA2YTAyYzQ1OGQzNWQ1YzYzZWE4MmE0ZDJiMiJdIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMC41ZnIpIG1pbm1heCgwLCAwLjVmcik7Z3JpZC1hdXRvLWZsb3c6IHJvdyB9IC53cC1ibG9jay10b29sc2V0LWJsb2Nrcy1ncmlkLnRiLWdyaWRbZGF0YS10b29sc2V0LWJsb2Nrcy1ncmlkPSI0NWFiYzA2YTAyYzQ1OGQzNWQ1YzYzZWE4MmE0ZDJiMiJdID4gLnRiLWdyaWQtY29sdW1uOm50aC1vZi10eXBlKDJuICsgMSkgeyBncmlkLWNvbHVtbjogMSB9IC53cC1ibG9jay10b29sc2V0LWJsb2Nrcy1ncmlkLnRiLWdyaWRbZGF0YS10b29sc2V0LWJsb2Nrcy1ncmlkPSI0NWFiYzA2YTAyYzQ1OGQzNWQ1YzYzZWE4MmE0ZDJiMiJdID4gLnRiLWdyaWQtY29sdW1uOm50aC1vZi10eXBlKDJuICsgMikgeyBncmlkLWNvbHVtbjogMiB9IC50Yi1maWVsZHMtYW5kLXRleHRbZGF0YS10b29sc2V0LWJsb2Nrcy1maWVsZHMtYW5kLXRleHQ9Ijk1NzRlYjc0NzRlZDA5YmY4Yjk3MDFhZmYyYzdhMzAwIl0geyBjb2xvcjogcmdiYSggMTUzLCAxNTMsIDE1MywgMSApOyB9IC50Yi1maWVsZHMtYW5kLXRleHRbZGF0YS10b29sc2V0LWJsb2Nrcy1maWVsZHMtYW5kLXRleHQ9Ijk1NzRlYjc0NzRlZDA5YmY4Yjk3MDFhZmYyYzdhMzAwIl0gcCB7IGNvbG9yOiByZ2JhKCAxNTMsIDE1MywgMTUzLCAxICk7IH0gLndwLWJsb2NrLXRvb2xzZXQtYmxvY2tzLWdyaWQtY29sdW1uLnRiLWdyaWQtY29sdW1uW2RhdGEtdG9vbHNldC1ibG9ja3MtZ3JpZC1jb2x1bW49ImU4NjNkNjZlYWM5NDk5MDhhNWM2YzhkMmZkMzEzMjBjIl0geyBkaXNwbGF5OiBmbGV4OyB9IC50Yi1zb2NpYWwtc2hhcmVfX25ldHdvcmt7ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246dG9wO21hcmdpbi1yaWdodDo3cHg7bWFyZ2luLWJvdHRvbTo3cHh9LnRiLXNvY2lhbC1zaGFyZS0tMDkyIC50Yi1zb2NpYWwtc2hhcmVfX2ZhY2Vib29rX19zaGFyZS1idXR0b257Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1jb2xvcjojM2I1OTk4O30udGItc29jaWFsLXNoYXJlLS0wOTIgLnRiLXNvY2lhbC1zaGFyZV9fbGlua2VkaW5fX3NoYXJlLWJ1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdmYjE7fS50Yi1zb2NpYWwtc2hhcmUtLTA5MiAudGItc29jaWFsLXNoYXJlX190d2l0dGVyX19zaGFyZS1idXR0b257Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1jb2xvcjojMDBhY2VkO30udGItc29jaWFsLXNoYXJlLS0wOTIgLnRiLXNvY2lhbC1zaGFyZV9fcGludGVyZXN0X19zaGFyZS1idXR0b257Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1jb2xvcjojY2IyMTI4O30udGItc29jaWFsLXNoYXJlLS0wOTIgLnRiLXNvY2lhbC1zaGFyZV9fdGVsZWdyYW1fX3NoYXJlLWJ1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLWNvbG9yOiMzN2FlZTI7fS50Yi1zb2NpYWwtc2hhcmUtLTA5MiAudGItc29jaWFsLXNoYXJlX19yZWRkaXRfX3NoYXJlLWJ1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLWNvbG9yOiM1Zjk5Y2Y7fS50Yi1zb2NpYWwtc2hhcmUtLTA5MiAudGItc29jaWFsLXNoYXJlX192aWJlcl9fc2hhcmUtYnV0dG9ue2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JhY2tncm91bmQtc2l6ZTpjb250YWluO2JhY2tncm91bmQtY29sb3I6IzdjNTI5ZTt9LnRiLXNvY2lhbC1zaGFyZS0tMDkyIC50Yi1zb2NpYWwtc2hhcmVfX2VtYWlsX19zaGFyZS1idXR0b257Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1jb2xvcjojN2Y3ZjdmO30udGItc29jaWFsLXNoYXJlLS1yb3VuZCAuU29jaWFsTWVkaWFTaGFyZUJ1dHRvbntib3JkZXItcmFkaXVzOjUwJX0udGItc29jaWFsLXNoYXJlX19leGNlcnB0e2Rpc3BsYXk6bm9uZX0udGItc29jaWFsLXNoYXJlIC5Tb2NpYWxNZWRpYVNoYXJlQnV0dG9uLS1kaXNhYmxlZHtvcGFjaXR5OjAuNjV9IC50Yi1zb2NpYWwtc2hhcmVbZGF0YS10b29sc2V0LWJsb2Nrcy1zb2NpYWwtc2hhcmU9ImJhOTZiZjBlZjZmYTUzZjgxYjdjYWY1N2JmYjlkOTljIl0geyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gLnRiLXNvY2lhbC1zaGFyZVtkYXRhLXRvb2xzZXQtYmxvY2tzLXNvY2lhbC1zaGFyZT0iYmE5NmJmMGVmNmZhNTNmODFiN2NhZjU3YmZiOWQ5OWMiXSAuU29jaWFsTWVkaWFTaGFyZUJ1dHRvbiB7IHdpZHRoOiAzMnB4O2hlaWdodDogMzJweDsgfSAudGItY29udGFpbmVyIC50Yi1jb250YWluZXItaW5uZXJ7d2lkdGg6MTAwJTttYXJnaW46MCBhdXRvfSAud3AtYmxvY2stdG9vbHNldC1ibG9ja3MtY29udGFpbmVyLnRiLWNvbnRhaW5lcltkYXRhLXRvb2xzZXQtYmxvY2tzLWNvbnRhaW5lcj0iMjE2Yzk0NjMwNjc5ZmIwY2EyM2JiNmIyNDZkZmU0YTEiXSB7IHBhZGRpbmctdG9wOiAzMHB4O2JvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCAyMjEsIDIyMSwgMjIxLCAxICk7IH0gLnRiLWdyaWQsLnRiLWdyaWQ+LmJsb2NrLWVkaXRvci1pbm5lci1ibG9ja3M+LmJsb2NrLWVkaXRvci1ibG9jay1saXN0X19sYXlvdXR7ZGlzcGxheTpncmlkO2dyaWQtcm93LWdhcDoyNXB4O2dyaWQtY29sdW1uLWdhcDoyNXB4fS50Yi1ncmlkLWl0ZW17YmFja2dyb3VuZDojZDM4YTAzO3BhZGRpbmc6MzBweH0udGItZ3JpZC1jb2x1bW57ZmxleC13cmFwOndyYXB9LnRiLWdyaWQtY29sdW1uPip7d2lkdGg6MTAwJX0udGItZ3JpZC1jb2x1bW4udGItZ3JpZC1hbGlnbi10b3B7d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0fS50Yi1ncmlkLWNvbHVtbi50Yi1ncmlkLWFsaWduLWNlbnRlcnt3aWR0aDoxMDAlO2Rpc3BsYXk6ZmxleDthbGlnbi1jb250ZW50OmNlbnRlcn0udGItZ3JpZC1jb2x1bW4udGItZ3JpZC1hbGlnbi1ib3R0b217d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24tY29udGVudDpmbGV4LWVuZH0gLndwLWJsb2NrLXRvb2xzZXQtYmxvY2tzLWdyaWQudGItZ3JpZFtkYXRhLXRvb2xzZXQtYmxvY2tzLWdyaWQ9IjJhMDI1YWMxNWQ3NWUzOTNiY2U3NTQ2MDU4MGQzMGRlIl0geyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAwLjI1ZnIpIG1pbm1heCgwLCAwLjRmcikgbWlubWF4KDAsIDAuMjI1ZnIpIG1pbm1heCgwLCAwLjEyNWZyKTtncmlkLWF1dG8tZmxvdzogcm93IH0gLndwLWJsb2NrLXRvb2xzZXQtYmxvY2tzLWdyaWQudGItZ3JpZFtkYXRhLXRvb2xzZXQtYmxvY2tzLWdyaWQ9IjJhMDI1YWMxNWQ3NWUzOTNiY2U3NTQ2MDU4MGQzMGRlIl0gPiAudGItZ3JpZC1jb2x1bW46bnRoLW9mLXR5cGUoNG4gKyAxKSB7IGdyaWQtY29sdW1uOiAxIH0gLndwLWJsb2NrLXRvb2xzZXQtYmxvY2tzLWdyaWQudGItZ3JpZFtkYXRhLXRvb2xzZXQtYmxvY2tzLWdyaWQ9IjJhMDI1YWMxNWQ3NWUzOTNiY2U3NTQ2MDU4MGQzMGRlIl0gPiAudGItZ3JpZC1jb2x1bW46bnRoLW9mLXR5cGUoNG4gKyAyKSB7IGdyaWQtY29sdW1uOiAyIH0gLndwLWJsb2NrLXRvb2xzZXQtYmxvY2tzLWdyaWQudGItZ3JpZFtkYXRhLXRvb2xzZXQtYmxvY2tzLWdyaWQ9IjJhMDI1YWMxNWQ3NWUzOTNiY2U3NTQ2MDU4MGQzMGRlIl0gPiAudGItZ3JpZC1jb2x1bW46bnRoLW9mLXR5cGUoNG4gKyAzKSB7IGdyaWQtY29sdW1uOiAzIH0gLndwLWJsb2NrLXRvb2xzZXQtYmxvY2tzLWdyaWQudGItZ3JpZFtkYXRhLXRvb2xzZXQtYmxvY2tzLWdyaWQ9IjJhMDI1YWMxNWQ3NWUzOTNiY2U3NTQ2MDU4MGQzMGRlIl0gPiAudGItZ3JpZC1jb2x1bW46bnRoLW9mLXR5cGUoNG4gKyA0KSB7IGdyaWQtY29sdW1uOiA0IH0gLnRiLWJ1dHRvbntjb2xvcjojZjFmMWYxfS50Yi1idXR0b24tLWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS50Yi1idXR0b24tLWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcn0udGItYnV0dG9uLS1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fS50Yi1idXR0b25fX2xpbmt7Y29sb3I6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoxMDAlO3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpjZW50ZXI7dHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlfS50Yi1idXR0b25fX2xpbms6aG92ZXIsLnRiLWJ1dHRvbl9fbGluazpmb2N1cywudGItYnV0dG9uX19saW5rOnZpc2l0ZWR7Y29sb3I6aW5oZXJpdH0udGItYnV0dG9uX19saW5rOmhvdmVyIC50Yi1idXR0b25fX2NvbnRlbnQsLnRiLWJ1dHRvbl9fbGluazpmb2N1cyAudGItYnV0dG9uX19jb250ZW50LC50Yi1idXR0b25fX2xpbms6dmlzaXRlZCAudGItYnV0dG9uX19jb250ZW50e2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zdHlsZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LXNoYWRvdzppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXR9LnRiLWJ1dHRvbl9fY29udGVudHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7dHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlfS50Yi1idXR0b25fX2ljb257dHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtmb250LXN0eWxlOm5vcm1hbCAhaW1wb3J0YW50fS50Yi1idXR0b25fX2ljb246OmJlZm9yZXtjb250ZW50OmF0dHIoZGF0YS1mb250LWNvZGUpO2ZvbnQtd2VpZ2h0Om5vcm1hbCAhaW1wb3J0YW50fS50Yi1idXR0b25fX2xpbmt7YmFja2dyb3VuZC1jb2xvcjojNDQ0O2JvcmRlci1yYWRpdXM6MC4zZW07Zm9udC1zaXplOjEuM2VtO21hcmdpbi1ib3R0b206MC43NmVtO3BhZGRpbmc6MC41NWVtIDEuNWVtIDAuNTVlbX0gLnRiLWJ1dHRvbltkYXRhLXRvb2xzZXQtYmxvY2tzLWJ1dHRvbj0iNWY0OTE0N2FmNDQyM2RmMDQzZGU5ODFhNDI0NjYxZTQiXSB7IHRleHQtYWxpZ246IHJpZ2h0OyB9IC50Yi1idXR0b25bZGF0YS10b29sc2V0LWJsb2Nrcy1idXR0b249IjVmNDkxNDdhZjQ0MjNkZjA0M2RlOTgxYTQyNDY2MWU0Il0gLnRiLWJ1dHRvbl9fbGluayB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoIDI1NSwgMjU1LCAyNTUsIDEgKTtjb2xvcjogcmdiYSggMTUzLCAxNTMsIDE1MywgMSApO3BhZGRpbmc6IDBweDtmb250LXNpemU6IDE2cHg7bGluZS1oZWlnaHQ6IDE2cHg7Y29sb3I6IHJnYmEoIDE1MywgMTUzLCAxNTMsIDEgKTsgfSAudGItYnV0dG9uW2RhdGEtdG9vbHNldC1ibG9ja3MtYnV0dG9uPSI1ZjQ5MTQ3YWY0NDIzZGYwNDNkZTk4MWE0MjQ2NjFlNCJdIC50Yi1idXR0b25fX2xpbms6aG92ZXIgeyBjb2xvcjogcmdiYSggMTIwLCA2MiwgMjM3LCAxICk7Y29sb3I6IHJnYmEoIDEyMCwgNjIsIDIzNywgMSApOyB9IC50Yi1idXR0b25bZGF0YS10b29sc2V0LWJsb2Nrcy1idXR0b249IjVmNDkxNDdhZjQ0MjNkZjA0M2RlOTgxYTQyNDY2MWU0Il0gLnRiLWJ1dHRvbl9faWNvbiB7IGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTttYXJnaW4tbGVmdDogNXB4OyB9IC50Yi1idXR0b25bZGF0YS10b29sc2V0LWJsb2Nrcy1idXR0b249IjVmNDkxNDdhZjQ0MjNkZjA0M2RlOTgxYTQyNDY2MWU0Il0gLnRiLWJ1dHRvbl9faWNvbjo6YmVmb3JlIHsgY29udGVudDogJ1xmMGU1JzsgfSAudGItZmllbGRbZGF0YS10b29sc2V0LWJsb2Nrcy1maWVsZD0iNDUzYTM4ZWU3M2EyNDY5OTZlZTEyNGMwOWQ1MjZlOWMiXSB7IHRleHQtYWxpZ246IHJpZ2h0O2NvbG9yOiByZ2JhKCAxNTMsIDE1MywgMTUzLCAxICk7IH0gIC53cC1ibG9jay10b29sc2V0LWJsb2Nrcy1ncmlkLWNvbHVtbi50Yi1ncmlkLWNvbHVtbltkYXRhLXRvb2xzZXQtYmxvY2tzLWdyaWQtY29sdW1uPSIzMDM0ZmJlODg2YzExMDU0ZTk1YjQ2YjA5ZDNlNDExMiJdIHsgZGlzcGxheTogZmxleDsgfSBoMi50Yi1oZWFkaW5nW2RhdGEtdG9vbHNldC1ibG9ja3MtaGVhZGluZz0iNGE4NzU0OGRhMDcyMmI5ZTFkY2RiOWNiNGNmNWQ3YjkiXSAgeyBmb250LXNpemU6IDM2cHg7Zm9udC13ZWlnaHQ6IGJvbGQ7Y29sb3I6IHJnYmEoIDUyLCA1MiwgNTIsIDEgKTttYXJnaW4tdG9wOiAzMHB4O21hcmdpbi1ib3R0b206IDcwcHg7IH0gIGgyLnRiLWhlYWRpbmdbZGF0YS10b29sc2V0LWJsb2Nrcy1oZWFkaW5nPSI0YTg3NTQ4ZGEwNzIyYjllMWRjZGI5Y2I0Y2Y1ZDdiOSJdIGEgIHsgY29sb3I6IHJnYmEoIDUyLCA1MiwgNTIsIDEgKTt0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgeyAudGItYnV0dG9ue2NvbG9yOiNmMWYxZjF9LnRiLWJ1dHRvbi0tbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRiLWJ1dHRvbi0tY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS50Yi1idXR0b24tLXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LnRiLWJ1dHRvbl9fbGlua3tjb2xvcjppbmhlcml0O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjEwMCU7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDt0ZXh0LWFsaWduOmNlbnRlcjt0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2V9LnRiLWJ1dHRvbl9fbGluazpob3ZlciwudGItYnV0dG9uX19saW5rOmZvY3VzLC50Yi1idXR0b25fX2xpbms6dmlzaXRlZHtjb2xvcjppbmhlcml0fS50Yi1idXR0b25fX2xpbms6aG92ZXIgLnRiLWJ1dHRvbl9fY29udGVudCwudGItYnV0dG9uX19saW5rOmZvY3VzIC50Yi1idXR0b25fX2NvbnRlbnQsLnRiLWJ1dHRvbl9fbGluazp2aXNpdGVkIC50Yi1idXR0b25fX2NvbnRlbnR7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXN0eWxlOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzppbmhlcml0O3RleHQtZGVjb3JhdGlvbjppbmhlcml0O3RleHQtc2hhZG93OmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06aW5oZXJpdH0udGItYnV0dG9uX19jb250ZW50e3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2V9LnRiLWJ1dHRvbl9faWNvbnt0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2ZvbnQtc3R5bGU6bm9ybWFsICFpbXBvcnRhbnR9LnRiLWJ1dHRvbl9faWNvbjo6YmVmb3Jle2NvbnRlbnQ6YXR0cihkYXRhLWZvbnQtY29kZSk7Zm9udC13ZWlnaHQ6bm9ybWFsICFpbXBvcnRhbnR9LnRiLWJ1dHRvbl9fbGlua3tiYWNrZ3JvdW5kLWNvbG9yOiM0NDQ7Ym9yZGVyLXJhZGl1czowLjNlbTtmb250LXNpemU6MS4zZW07bWFyZ2luLWJvdHRvbTowLjc2ZW07cGFkZGluZzowLjU1ZW0gMS41ZW0gMC41NWVtfS50Yi1ncmlkLC50Yi1ncmlkPi5ibG9jay1lZGl0b3ItaW5uZXItYmxvY2tzPi5ibG9jay1lZGl0b3ItYmxvY2stbGlzdF9fbGF5b3V0e2Rpc3BsYXk6Z3JpZDtncmlkLXJvdy1nYXA6MjVweDtncmlkLWNvbHVtbi1nYXA6MjVweH0udGItZ3JpZC1pdGVte2JhY2tncm91bmQ6I2QzOGEwMztwYWRkaW5nOjMwcHh9LnRiLWdyaWQtY29sdW1ue2ZsZXgtd3JhcDp3cmFwfS50Yi1ncmlkLWNvbHVtbj4qe3dpZHRoOjEwMCV9LnRiLWdyaWQtY29sdW1uLnRiLWdyaWQtYWxpZ24tdG9we3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydH0udGItZ3JpZC1jb2x1bW4udGItZ3JpZC1hbGlnbi1jZW50ZXJ7d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24tY29udGVudDpjZW50ZXJ9LnRiLWdyaWQtY29sdW1uLnRiLWdyaWQtYWxpZ24tYm90dG9te3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2FsaWduLWNvbnRlbnQ6ZmxleC1lbmR9IC53cC1ibG9jay10b29sc2V0LWJsb2Nrcy1ncmlkLnRiLWdyaWRbZGF0YS10b29sc2V0LWJsb2Nrcy1ncmlkPSI0MzUwOTlmNmVhOTExYTdhMGVlNTk5YTMyNDU3OTY1MSJdIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtncmlkLWF1dG8tZmxvdzogcm93IH0gLndwLWJsb2NrLXRvb2xzZXQtYmxvY2tzLWdyaWQudGItZ3JpZFtkYXRhLXRvb2xzZXQtYmxvY2tzLWdyaWQ9IjQzNTA5OWY2ZWE5MTFhN2EwZWU1OTlhMzI0NTc5NjUxIl0gID4gLnRiLWdyaWQtY29sdW1uOm50aC1vZi10eXBlKDFuKzEpIHsgZ3JpZC1jb2x1bW46IDEgfSAudGItZ3JpZCwudGItZ3JpZD4uYmxvY2stZWRpdG9yLWlubmVyLWJsb2Nrcz4uYmxvY2stZWRpdG9yLWJsb2NrLWxpc3RfX2xheW91dHtkaXNwbGF5OmdyaWQ7Z3JpZC1yb3ctZ2FwOjI1cHg7Z3JpZC1jb2x1bW4tZ2FwOjI1cHh9LnRiLWdyaWQtaXRlbXtiYWNrZ3JvdW5kOiNkMzhhMDM7cGFkZGluZzozMHB4fS50Yi1ncmlkLWNvbHVtbntmbGV4LXdyYXA6d3JhcH0udGItZ3JpZC1jb2x1bW4+Knt3aWR0aDoxMDAlfS50Yi1ncmlkLWNvbHVtbi50Yi1ncmlkLWFsaWduLXRvcHt3aWR0aDoxMDAlO2Rpc3BsYXk6ZmxleDthbGlnbi1jb250ZW50OmZsZXgtc3RhcnR9LnRiLWdyaWQtY29sdW1uLnRiLWdyaWQtYWxpZ24tY2VudGVye3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2FsaWduLWNvbnRlbnQ6Y2VudGVyfS50Yi1ncmlkLWNvbHVtbi50Yi1ncmlkLWFsaWduLWJvdHRvbXt3aWR0aDoxMDAlO2Rpc3BsYXk6ZmxleDthbGlnbi1jb250ZW50OmZsZXgtZW5kfSAud3B2LXZpZXctb3V0cHV0W2RhdGEtdG9vbHNldC12aWV3cy12aWV3LWVkaXRvcj0iODI3MGZlZjIzYmExZDNhYWU3YmUxMzcyYmU3MGUzZDAiXSA+IC50Yi1ncmlkLWNvbHVtbjpudGgtb2YtdHlwZSgzbiArIDEpIHsgZ3JpZC1jb2x1bW46IDEgfSAud3B2LXZpZXctb3V0cHV0W2RhdGEtdG9vbHNldC12aWV3cy12aWV3LWVkaXRvcj0iODI3MGZlZjIzYmExZDNhYWU3YmUxMzcyYmU3MGUzZDAiXSA+IC50Yi1ncmlkLWNvbHVtbjpudGgtb2YtdHlwZSgzbiArIDIpIHsgZ3JpZC1jb2x1bW46IDIgfSAud3B2LXZpZXctb3V0cHV0W2RhdGEtdG9vbHNldC12aWV3cy12aWV3LWVkaXRvcj0iODI3MGZlZjIzYmExZDNhYWU3YmUxMzcyYmU3MGUzZDAiXSA+IC50Yi1ncmlkLWNvbHVtbjpudGgtb2YtdHlwZSgzbiArIDMpIHsgZ3JpZC1jb2x1bW46IDMgfSAud3B2LXZpZXctb3V0cHV0W2RhdGEtdG9vbHNldC12aWV3cy12aWV3LWVkaXRvcj0iODI3MGZlZjIzYmExZDNhYWU3YmUxMzcyYmU3MGUzZDAiXSAuanMtd3B2LWxvb3Atd3JhcHBlciA+IC50Yi1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMC4zMzMzZnIpIG1pbm1heCgwLCAwLjMzMzNmcikgbWlubWF4KDAsIDAuMzMzM2ZyKTtncmlkLWF1dG8tZmxvdzogcm93IH0gLnRiLWNvbnRhaW5lciAudGItY29udGFpbmVyLWlubmVye3dpZHRoOjEwMCU7bWFyZ2luOjAgYXV0b30gLnRiLWdyaWQsLnRiLWdyaWQ+LmJsb2NrLWVkaXRvci1pbm5lci1ibG9ja3M+LmJsb2NrLWVkaXRvci1ibG9jay1saXN0X19sYXlvdXR7ZGlzcGxheTpncmlkO2dyaWQtcm93LWdhcDoyNXB4O2dyaWQtY29sdW1uLWdhcDoyNXB4fS50Yi1ncmlkLWl0ZW17YmFja2dyb3VuZDojZDM4YTAzO3BhZGRpbmc6MzBweH0udGItZ3JpZC1jb2x1bW57ZmxleC13cmFwOndyYXB9LnRiLWdyaWQtY29sdW1uPip7d2lkdGg6MTAwJX0udGItZ3JpZC1jb2x1bW4udGItZ3JpZC1hbGlnbi10b3B7d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0fS50Yi1ncmlkLWNvbHVtbi50Yi1ncmlkLWFsaWduLWNlbnRlcnt3aWR0aDoxMDAlO2Rpc3BsYXk6ZmxleDthbGlnbi1jb250ZW50OmNlbnRlcn0udGItZ3JpZC1jb2x1bW4udGItZ3JpZC1hbGlnbi1ib3R0b217d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24tY29udGVudDpmbGV4LWVuZH0gLndwLWJsb2NrLXRvb2xzZXQtYmxvY2tzLWdyaWQudGItZ3JpZFtkYXRhLXRvb2xzZXQtYmxvY2tzLWdyaWQ9IjQ1YWJjMDZhMDJjNDU4ZDM1ZDVjNjNlYTgyYTRkMmIyIl0geyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAwLjVmcikgbWlubWF4KDAsIDAuNWZyKTtncmlkLWF1dG8tZmxvdzogcm93IH0gLndwLWJsb2NrLXRvb2xzZXQtYmxvY2tzLWdyaWQudGItZ3JpZFtkYXRhLXRvb2xzZXQtYmxvY2tzLWdyaWQ9IjQ1YWJjMDZhMDJjNDU4ZDM1ZDVjNjNlYTgyYTRkMmIyIl0gPiAudGItZ3JpZC1jb2x1bW46bnRoLW9mLXR5cGUoMm4gKyAxKSB7IGdyaWQtY29sdW1uOiAxIH0gLndwLWJsb2NrLXRvb2xzZXQtYmxvY2tzLWdyaWQudGItZ3JpZFtkYXRhLXRvb2xzZXQtYmxvY2tzLWdyaWQ9IjQ1YWJjMDZhMDJjNDU4ZDM1ZDVjNjNlYTgyYTRkMmIyIl0gPiAudGItZ3JpZC1jb2x1bW46bnRoLW9mLXR5cGUoMm4gKyAyKSB7IGdyaWQtY29sdW1uOiAyIH0gLndwLWJsb2NrLXRvb2xzZXQtYmxvY2tzLWdyaWQtY29sdW1uLnRiLWdyaWQtY29sdW1uW2RhdGEtdG9vbHNldC1ibG9ja3MtZ3JpZC1jb2x1bW49ImU4NjNkNjZlYWM5NDk5MDhhNWM2YzhkMmZkMzEzMjBjIl0geyBkaXNwbGF5OiBmbGV4OyB9IC50Yi1zb2NpYWwtc2hhcmVfX25ldHdvcmt7ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246dG9wO21hcmdpbi1yaWdodDo3cHg7bWFyZ2luLWJvdHRvbTo3cHh9LnRiLXNvY2lhbC1zaGFyZS0tMDkyIC50Yi1zb2NpYWwtc2hhcmVfX2ZhY2Vib29rX19zaGFyZS1idXR0b257Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1jb2xvcjojM2I1OTk4O30udGItc29jaWFsLXNoYXJlLS0wOTIgLnRiLXNvY2lhbC1zaGFyZV9fbGlua2VkaW5fX3NoYXJlLWJ1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdmYjE7fS50Yi1zb2NpYWwtc2hhcmUtLTA5MiAudGItc29jaWFsLXNoYXJlX190d2l0dGVyX19zaGFyZS1idXR0b257Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1jb2xvcjojMDBhY2VkO30udGItc29jaWFsLXNoYXJlLS0wOTIgLnRiLXNvY2lhbC1zaGFyZV9fcGludGVyZXN0X19zaGFyZS1idXR0b257Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1jb2xvcjojY2IyMTI4O30udGItc29jaWFsLXNoYXJlLS0wOTIgLnRiLXNvY2lhbC1zaGFyZV9fdGVsZWdyYW1fX3NoYXJlLWJ1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLWNvbG9yOiMzN2FlZTI7fS50Yi1zb2NpYWwtc2hhcmUtLTA5MiAudGItc29jaWFsLXNoYXJlX19yZWRkaXRfX3NoYXJlLWJ1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLWNvbG9yOiM1Zjk5Y2Y7fS50Yi1zb2NpYWwtc2hhcmUtLTA5MiAudGItc29jaWFsLXNoYXJlX192aWJlcl9fc2hhcmUtYnV0dG9ue2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JhY2tncm91bmQtc2l6ZTpjb250YWluO2JhY2tncm91bmQtY29sb3I6IzdjNTI5ZTt9LnRiLXNvY2lhbC1zaGFyZS0tMDkyIC50Yi1zb2NpYWwtc2hhcmVfX2VtYWlsX19zaGFyZS1idXR0b257Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1jb2xvcjojN2Y3ZjdmO30udGItc29jaWFsLXNoYXJlLS1yb3VuZCAuU29jaWFsTWVkaWFTaGFyZUJ1dHRvbntib3JkZXItcmFkaXVzOjUwJX0udGItc29jaWFsLXNoYXJlX19leGNlcnB0e2Rpc3BsYXk6bm9uZX0udGItc29jaWFsLXNoYXJlIC5Tb2NpYWxNZWRpYVNoYXJlQnV0dG9uLS1kaXNhYmxlZHtvcGFjaXR5OjAuNjV9LnRiLWNvbnRhaW5lciAudGItY29udGFpbmVyLWlubmVye3dpZHRoOjEwMCU7bWFyZ2luOjAgYXV0b30udGItZ3JpZCwudGItZ3JpZD4uYmxvY2stZWRpdG9yLWlubmVyLWJsb2Nrcz4uYmxvY2stZWRpdG9yLWJsb2NrLWxpc3RfX2xheW91dHtkaXNwbGF5OmdyaWQ7Z3JpZC1yb3ctZ2FwOjI1cHg7Z3JpZC1jb2x1bW4tZ2FwOjI1cHh9LnRiLWdyaWQtaXRlbXtiYWNrZ3JvdW5kOiNkMzhhMDM7cGFkZGluZzozMHB4fS50Yi1ncmlkLWNvbHVtbntmbGV4LXdyYXA6d3JhcH0udGItZ3JpZC1jb2x1bW4+Knt3aWR0aDoxMDAlfS50Yi1ncmlkLWNvbHVtbi50Yi1ncmlkLWFsaWduLXRvcHt3aWR0aDoxMDAlO2Rpc3BsYXk6ZmxleDthbGlnbi1jb250ZW50OmZsZXgtc3RhcnR9LnRiLWdyaWQtY29sdW1uLnRiLWdyaWQtYWxpZ24tY2VudGVye3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2FsaWduLWNvbnRlbnQ6Y2VudGVyfS50Yi1ncmlkLWNvbHVtbi50Yi1ncmlkLWFsaWduLWJvdHRvbXt3aWR0aDoxMDAlO2Rpc3BsYXk6ZmxleDthbGlnbi1jb250ZW50OmZsZXgtZW5kfSAud3AtYmxvY2stdG9vbHNldC1ibG9ja3MtZ3JpZC50Yi1ncmlkW2RhdGEtdG9vbHNldC1ibG9ja3MtZ3JpZD0iMmEwMjVhYzE1ZDc1ZTM5M2JjZTc1NDYwNTgwZDMwZGUiXSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDAuMjVmcikgbWlubWF4KDAsIDAuMjVmcikgbWlubWF4KDAsIDAuMjVmcikgbWlubWF4KDAsIDAuMjVmcik7Z3JpZC1hdXRvLWZsb3c6IHJvdyB9IC53cC1ibG9jay10b29sc2V0LWJsb2Nrcy1ncmlkLnRiLWdyaWRbZGF0YS10b29sc2V0LWJsb2Nrcy1ncmlkPSIyYTAyNWFjMTVkNzVlMzkzYmNlNzU0NjA1ODBkMzBkZSJdID4gLnRiLWdyaWQtY29sdW1uOm50aC1vZi10eXBlKDRuICsgMSkgeyBncmlkLWNvbHVtbjogMSB9IC53cC1ibG9jay10b29sc2V0LWJsb2Nrcy1ncmlkLnRiLWdyaWRbZGF0YS10b29sc2V0LWJsb2Nrcy1ncmlkPSIyYTAyNWFjMTVkNzVlMzkzYmNlNzU0NjA1ODBkMzBkZSJdID4gLnRiLWdyaWQtY29sdW1uOm50aC1vZi10eXBlKDRuICsgMikgeyBncmlkLWNvbHVtbjogMiB9IC53cC1ibG9jay10b29sc2V0LWJsb2Nrcy1ncmlkLnRiLWdyaWRbZGF0YS10b29sc2V0LWJsb2Nrcy1ncmlkPSIyYTAyNWFjMTVkNzVlMzkzYmNlNzU0NjA1ODBkMzBkZSJdID4gLnRiLWdyaWQtY29sdW1uOm50aC1vZi10eXBlKDRuICsgMykgeyBncmlkLWNvbHVtbjogMyB9IC53cC1ibG9jay10b29sc2V0LWJsb2Nrcy1ncmlkLnRiLWdyaWRbZGF0YS10b29sc2V0LWJsb2Nrcy1ncmlkPSIyYTAyNWFjMTVkNzVlMzkzYmNlNzU0NjA1ODBkMzBkZSJdID4gLnRiLWdyaWQtY29sdW1uOm50aC1vZi10eXBlKDRuICsgNCkgeyBncmlkLWNvbHVtbjogNCB9IC50Yi1idXR0b257Y29sb3I6I2YxZjFmMX0udGItYnV0dG9uLS1sZWZ0e3RleHQtYWxpZ246bGVmdH0udGItYnV0dG9uLS1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRiLWJ1dHRvbi0tcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0udGItYnV0dG9uX19saW5re2NvbG9yOmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGluZS1oZWlnaHQ6MTAwJTt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246YWxsIDAuM3MgZWFzZX0udGItYnV0dG9uX19saW5rOmhvdmVyLC50Yi1idXR0b25fX2xpbms6Zm9jdXMsLnRiLWJ1dHRvbl9fbGluazp2aXNpdGVke2NvbG9yOmluaGVyaXR9LnRiLWJ1dHRvbl9fbGluazpob3ZlciAudGItYnV0dG9uX19jb250ZW50LC50Yi1idXR0b25fX2xpbms6Zm9jdXMgLnRiLWJ1dHRvbl9fY29udGVudCwudGItYnV0dG9uX19saW5rOnZpc2l0ZWQgLnRiLWJ1dHRvbl9fY29udGVudHtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc3R5bGU6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7dGV4dC1zaGFkb3c6aW5oZXJpdDt0ZXh0LXRyYW5zZm9ybTppbmhlcml0fS50Yi1idXR0b25fX2NvbnRlbnR7dmVydGljYWwtYWxpZ246bWlkZGxlO3RyYW5zaXRpb246YWxsIDAuM3MgZWFzZX0udGItYnV0dG9uX19pY29ue3RyYW5zaXRpb246YWxsIDAuM3MgZWFzZTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Zm9udC1zdHlsZTpub3JtYWwgIWltcG9ydGFudH0udGItYnV0dG9uX19pY29uOjpiZWZvcmV7Y29udGVudDphdHRyKGRhdGEtZm9udC1jb2RlKTtmb250LXdlaWdodDpub3JtYWwgIWltcG9ydGFudH0udGItYnV0dG9uX19saW5re2JhY2tncm91bmQtY29sb3I6IzQ0NDtib3JkZXItcmFkaXVzOjAuM2VtO2ZvbnQtc2l6ZToxLjNlbTttYXJnaW4tYm90dG9tOjAuNzZlbTtwYWRkaW5nOjAuNTVlbSAxLjVlbSAwLjU1ZW19LnRiLWZpZWxkW2RhdGEtdG9vbHNldC1ibG9ja3MtZmllbGQ9IjQ1M2EzOGVlNzNhMjQ2OTk2ZWUxMjRjMDlkNTI2ZTljIl0geyB0ZXh0LWFsaWduOiByaWdodDsgfSAgLndwLWJsb2NrLXRvb2xzZXQtYmxvY2tzLWdyaWQtY29sdW1uLnRiLWdyaWQtY29sdW1uW2RhdGEtdG9vbHNldC1ibG9ja3MtZ3JpZC1jb2x1bW49IjMwMzRmYmU4ODZjMTEwNTRlOTViNDZiMDlkM2U0MTEyIl0geyBkaXNwbGF5OiBmbGV4OyB9ICAgfSBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7IC50Yi1idXR0b257Y29sb3I6I2YxZjFmMX0udGItYnV0dG9uLS1sZWZ0e3RleHQtYWxpZ246bGVmdH0udGItYnV0dG9uLS1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRiLWJ1dHRvbi0tcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0udGItYnV0dG9uX19saW5re2NvbG9yOmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGluZS1oZWlnaHQ6MTAwJTt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246YWxsIDAuM3MgZWFzZX0udGItYnV0dG9uX19saW5rOmhvdmVyLC50Yi1idXR0b25fX2xpbms6Zm9jdXMsLnRiLWJ1dHRvbl9fbGluazp2aXNpdGVke2NvbG9yOmluaGVyaXR9LnRiLWJ1dHRvbl9fbGluazpob3ZlciAudGItYnV0dG9uX19jb250ZW50LC50Yi1idXR0b25fX2xpbms6Zm9jdXMgLnRiLWJ1dHRvbl9fY29udGVudCwudGItYnV0dG9uX19saW5rOnZpc2l0ZWQgLnRiLWJ1dHRvbl9fY29udGVudHtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc3R5bGU6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7dGV4dC1zaGFkb3c6aW5oZXJpdDt0ZXh0LXRyYW5zZm9ybTppbmhlcml0fS50Yi1idXR0b25fX2NvbnRlbnR7dmVydGljYWwtYWxpZ246bWlkZGxlO3RyYW5zaXRpb246YWxsIDAuM3MgZWFzZX0udGItYnV0dG9uX19pY29ue3RyYW5zaXRpb246YWxsIDAuM3MgZWFzZTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Zm9udC1zdHlsZTpub3JtYWwgIWltcG9ydGFudH0udGItYnV0dG9uX19pY29uOjpiZWZvcmV7Y29udGVudDphdHRyKGRhdGEtZm9udC1jb2RlKTtmb250LXdlaWdodDpub3JtYWwgIWltcG9ydGFudH0udGItYnV0dG9uX19saW5re2JhY2tncm91bmQtY29sb3I6IzQ0NDtib3JkZXItcmFkaXVzOjAuM2VtO2ZvbnQtc2l6ZToxLjNlbTttYXJnaW4tYm90dG9tOjAuNzZlbTtwYWRkaW5nOjAuNTVlbSAxLjVlbSAwLjU1ZW19LnRiLWdyaWQsLnRiLWdyaWQ+LmJsb2NrLWVkaXRvci1pbm5lci1ibG9ja3M+LmJsb2NrLWVkaXRvci1ibG9jay1saXN0X19sYXlvdXR7ZGlzcGxheTpncmlkO2dyaWQtcm93LWdhcDoyNXB4O2dyaWQtY29sdW1uLWdhcDoyNXB4fS50Yi1ncmlkLWl0ZW17YmFja2dyb3VuZDojZDM4YTAzO3BhZGRpbmc6MzBweH0udGItZ3JpZC1jb2x1bW57ZmxleC13cmFwOndyYXB9LnRiLWdyaWQtY29sdW1uPip7d2lkdGg6MTAwJX0udGItZ3JpZC1jb2x1bW4udGItZ3JpZC1hbGlnbi10b3B7d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0fS50Yi1ncmlkLWNvbHVtbi50Yi1ncmlkLWFsaWduLWNlbnRlcnt3aWR0aDoxMDAlO2Rpc3BsYXk6ZmxleDthbGlnbi1jb250ZW50OmNlbnRlcn0udGItZ3JpZC1jb2x1bW4udGItZ3JpZC1hbGlnbi1ib3R0b217d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24tY29udGVudDpmbGV4LWVuZH0gLndwLWJsb2NrLXRvb2xzZXQtYmxvY2tzLWdyaWQudGItZ3JpZFtkYXRhLXRvb2xzZXQtYmxvY2tzLWdyaWQ9IjQzNTA5OWY2ZWE5MTFhN2EwZWU1OTlhMzI0NTc5NjUxIl0geyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO2dyaWQtYXV0by1mbG93OiByb3cgfSAud3AtYmxvY2stdG9vbHNldC1ibG9ja3MtZ3JpZC50Yi1ncmlkW2RhdGEtdG9vbHNldC1ibG9ja3MtZ3JpZD0iNDM1MDk5ZjZlYTkxMWE3YTBlZTU5OWEzMjQ1Nzk2NTEiXSAgPiAudGItZ3JpZC1jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSkgeyBncmlkLWNvbHVtbjogMSB9IC50Yi1ncmlkLC50Yi1ncmlkPi5ibG9jay1lZGl0b3ItaW5uZXItYmxvY2tzPi5ibG9jay1lZGl0b3ItYmxvY2stbGlzdF9fbGF5b3V0e2Rpc3BsYXk6Z3JpZDtncmlkLXJvdy1nYXA6MjVweDtncmlkLWNvbHVtbi1nYXA6MjVweH0udGItZ3JpZC1pdGVte2JhY2tncm91bmQ6I2QzOGEwMztwYWRkaW5nOjMwcHh9LnRiLWdyaWQtY29sdW1ue2ZsZXgtd3JhcDp3cmFwfS50Yi1ncmlkLWNvbHVtbj4qe3dpZHRoOjEwMCV9LnRiLWdyaWQtY29sdW1uLnRiLWdyaWQtYWxpZ24tdG9we3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydH0udGItZ3JpZC1jb2x1bW4udGItZ3JpZC1hbGlnbi1jZW50ZXJ7d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24tY29udGVudDpjZW50ZXJ9LnRiLWdyaWQtY29sdW1uLnRiLWdyaWQtYWxpZ24tYm90dG9te3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2FsaWduLWNvbnRlbnQ6ZmxleC1lbmR9IC53cHYtdmlldy1vdXRwdXRbZGF0YS10b29sc2V0LXZpZXdzLXZpZXctZWRpdG9yPSI4MjcwZmVmMjNiYTFkM2FhZTdiZTEzNzJiZTcwZTNkMCJdICA+IC50Yi1ncmlkLWNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSB7IGdyaWQtY29sdW1uOiAxIH0gLndwdi12aWV3LW91dHB1dFtkYXRhLXRvb2xzZXQtdmlld3Mtdmlldy1lZGl0b3I9IjgyNzBmZWYyM2JhMWQzYWFlN2JlMTM3MmJlNzBlM2QwIl0gLmpzLXdwdi1sb29wLXdyYXBwZXIgPiAudGItZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7Z3JpZC1hdXRvLWZsb3c6IHJvdyB9IC50Yi1jb250YWluZXIgLnRiLWNvbnRhaW5lci1pbm5lcnt3aWR0aDoxMDAlO21hcmdpbjowIGF1dG99aDIudGItaGVhZGluZ1tkYXRhLXRvb2xzZXQtYmxvY2tzLWhlYWRpbmc9IjFiZDU5YzJkYzEzNjA4NTc3MjViYTdjNzg4MjhkMmVkIl0gIHsgZm9udC1zaXplOiAyMHB4O2xpbmUtaGVpZ2h0OiAyOHB4OyB9ICBoMi50Yi1oZWFkaW5nW2RhdGEtdG9vbHNldC1ibG9ja3MtaGVhZGluZz0iMWJkNTljMmRjMTM2MDg1NzcyNWJhN2M3ODgyOGQyZWQiXSBhICB7IGZvbnQtc2l6ZTogMjBweDtsaW5lLWhlaWdodDogMjhweDsgfSAudGItZ3JpZCwudGItZ3JpZD4uYmxvY2stZWRpdG9yLWlubmVyLWJsb2Nrcz4uYmxvY2stZWRpdG9yLWJsb2NrLWxpc3RfX2xheW91dHtkaXNwbGF5OmdyaWQ7Z3JpZC1yb3ctZ2FwOjI1cHg7Z3JpZC1jb2x1bW4tZ2FwOjI1cHh9LnRiLWdyaWQtaXRlbXtiYWNrZ3JvdW5kOiNkMzhhMDM7cGFkZGluZzozMHB4fS50Yi1ncmlkLWNvbHVtbntmbGV4LXdyYXA6d3JhcH0udGItZ3JpZC1jb2x1bW4+Knt3aWR0aDoxMDAlfS50Yi1ncmlkLWNvbHVtbi50Yi1ncmlkLWFsaWduLXRvcHt3aWR0aDoxMDAlO2Rpc3BsYXk6ZmxleDthbGlnbi1jb250ZW50OmZsZXgtc3RhcnR9LnRiLWdyaWQtY29sdW1uLnRiLWdyaWQtYWxpZ24tY2VudGVye3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2FsaWduLWNvbnRlbnQ6Y2VudGVyfS50Yi1ncmlkLWNvbHVtbi50Yi1ncmlkLWFsaWduLWJvdHRvbXt3aWR0aDoxMDAlO2Rpc3BsYXk6ZmxleDthbGlnbi1jb250ZW50OmZsZXgtZW5kfSAud3AtYmxvY2stdG9vbHNldC1ibG9ja3MtZ3JpZC50Yi1ncmlkW2RhdGEtdG9vbHNldC1ibG9ja3MtZ3JpZD0iNDVhYmMwNmEwMmM0NThkMzVkNWM2M2VhODJhNGQyYjIiXSB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDAuNWZyKSBtaW5tYXgoMCwgMC41ZnIpO2dyaWQtYXV0by1mbG93OiByb3cgfSAud3AtYmxvY2stdG9vbHNldC1ibG9ja3MtZ3JpZC50Yi1ncmlkW2RhdGEtdG9vbHNldC1ibG9ja3MtZ3JpZD0iNDVhYmMwNmEwMmM0NThkMzVkNWM2M2VhODJhNGQyYjIiXSA+IC50Yi1ncmlkLWNvbHVtbjpudGgtb2YtdHlwZSgybiArIDEpIHsgZ3JpZC1jb2x1bW46IDEgfSAud3AtYmxvY2stdG9vbHNldC1ibG9ja3MtZ3JpZC50Yi1ncmlkW2RhdGEtdG9vbHNldC1ibG9ja3MtZ3JpZD0iNDVhYmMwNmEwMmM0NThkMzVkNWM2M2VhODJhNGQyYjIiXSA+IC50Yi1ncmlkLWNvbHVtbjpudGgtb2YtdHlwZSgybiArIDIpIHsgZ3JpZC1jb2x1bW46IDIgfSAud3AtYmxvY2stdG9vbHNldC1ibG9ja3MtZ3JpZC1jb2x1bW4udGItZ3JpZC1jb2x1bW5bZGF0YS10b29sc2V0LWJsb2Nrcy1ncmlkLWNvbHVtbj0iZTg2M2Q2NmVhYzk0OTkwOGE1YzZjOGQyZmQzMTMyMGMiXSB7IGRpc3BsYXk6IGZsZXg7IH0gLnRiLXNvY2lhbC1zaGFyZV9fbmV0d29ya3tkaXNwbGF5OmlubGluZS1ibG9jazt0ZXh0LWFsaWduOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjp0b3A7bWFyZ2luLXJpZ2h0OjdweDttYXJnaW4tYm90dG9tOjdweH0udGItc29jaWFsLXNoYXJlLS0wOTIgLnRiLXNvY2lhbC1zaGFyZV9fZmFjZWJvb2tfX3NoYXJlLWJ1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLWNvbG9yOiMzYjU5OTg7fS50Yi1zb2NpYWwtc2hhcmUtLTA5MiAudGItc29jaWFsLXNoYXJlX19saW5rZWRpbl9fc2hhcmUtYnV0dG9ue2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JhY2tncm91bmQtc2l6ZTpjb250YWluO2JhY2tncm91bmQtY29sb3I6IzAwN2ZiMTt9LnRiLXNvY2lhbC1zaGFyZS0tMDkyIC50Yi1zb2NpYWwtc2hhcmVfX3R3aXR0ZXJfX3NoYXJlLWJ1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLWNvbG9yOiMwMGFjZWQ7fS50Yi1zb2NpYWwtc2hhcmUtLTA5MiAudGItc29jaWFsLXNoYXJlX19waW50ZXJlc3RfX3NoYXJlLWJ1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLWNvbG9yOiNjYjIxMjg7fS50Yi1zb2NpYWwtc2hhcmUtLTA5MiAudGItc29jaWFsLXNoYXJlX190ZWxlZ3JhbV9fc2hhcmUtYnV0dG9ue2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JhY2tncm91bmQtc2l6ZTpjb250YWluO2JhY2tncm91bmQtY29sb3I6IzM3YWVlMjt9LnRiLXNvY2lhbC1zaGFyZS0tMDkyIC50Yi1zb2NpYWwtc2hhcmVfX3JlZGRpdF9fc2hhcmUtYnV0dG9ue2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JhY2tncm91bmQtc2l6ZTpjb250YWluO2JhY2tncm91bmQtY29sb3I6IzVmOTljZjt9LnRiLXNvY2lhbC1zaGFyZS0tMDkyIC50Yi1zb2NpYWwtc2hhcmVfX3ZpYmVyX19zaGFyZS1idXR0b257Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1jb2xvcjojN2M1MjllO30udGItc29jaWFsLXNoYXJlLS0wOTIgLnRiLXNvY2lhbC1zaGFyZV9fZW1haWxfX3NoYXJlLWJ1dHRvbntjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLWNvbG9yOiM3ZjdmN2Y7fS50Yi1zb2NpYWwtc2hhcmUtLXJvdW5kIC5Tb2NpYWxNZWRpYVNoYXJlQnV0dG9ue2JvcmRlci1yYWRpdXM6NTAlfS50Yi1zb2NpYWwtc2hhcmVfX2V4Y2VycHR7ZGlzcGxheTpub25lfS50Yi1zb2NpYWwtc2hhcmUgLlNvY2lhbE1lZGlhU2hhcmVCdXR0b24tLWRpc2FibGVke29wYWNpdHk6MC42NX0udGItY29udGFpbmVyIC50Yi1jb250YWluZXItaW5uZXJ7d2lkdGg6MTAwJTttYXJnaW46MCBhdXRvfS50Yi1ncmlkLC50Yi1ncmlkPi5ibG9jay1lZGl0b3ItaW5uZXItYmxvY2tzPi5ibG9jay1lZGl0b3ItYmxvY2stbGlzdF9fbGF5b3V0e2Rpc3BsYXk6Z3JpZDtncmlkLXJvdy1nYXA6MjVweDtncmlkLWNvbHVtbi1nYXA6MjVweH0udGItZ3JpZC1pdGVte2JhY2tncm91bmQ6I2QzOGEwMztwYWRkaW5nOjMwcHh9LnRiLWdyaWQtY29sdW1ue2ZsZXgtd3JhcDp3cmFwfS50Yi1ncmlkLWNvbHVtbj4qe3dpZHRoOjEwMCV9LnRiLWdyaWQtY29sdW1uLnRiLWdyaWQtYWxpZ24tdG9we3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydH0udGItZ3JpZC1jb2x1bW4udGItZ3JpZC1hbGlnbi1jZW50ZXJ7d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24tY29udGVudDpjZW50ZXJ9LnRiLWdyaWQtY29sdW1uLnRiLWdyaWQtYWxpZ24tYm90dG9te3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2FsaWduLWNvbnRlbnQ6ZmxleC1lbmR9IC53cC1ibG9jay10b29sc2V0LWJsb2Nrcy1ncmlkLnRiLWdyaWRbZGF0YS10b29sc2V0LWJsb2Nrcy1ncmlkPSIyYTAyNWFjMTVkNzVlMzkzYmNlNzU0NjA1ODBkMzBkZSJdIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMC41ZnIpIG1pbm1heCgwLCAwLjVmcik7Z3JpZC1yb3ctZ2FwOiAwcHg7Z3JpZC1hdXRvLWZsb3c6IHJvdyB9IC53cC1ibG9jay10b29sc2V0LWJsb2Nrcy1ncmlkLnRiLWdyaWRbZGF0YS10b29sc2V0LWJsb2Nrcy1ncmlkPSIyYTAyNWFjMTVkNzVlMzkzYmNlNzU0NjA1ODBkMzBkZSJdID4gLnRiLWdyaWQtY29sdW1uOm50aC1vZi10eXBlKDJuICsgMSkgeyBncmlkLWNvbHVtbjogMSB9IC53cC1ibG9jay10b29sc2V0LWJsb2Nrcy1ncmlkLnRiLWdyaWRbZGF0YS10b29sc2V0LWJsb2Nrcy1ncmlkPSIyYTAyNWFjMTVkNzVlMzkzYmNlNzU0NjA1ODBkMzBkZSJdID4gLnRiLWdyaWQtY29sdW1uOm50aC1vZi10eXBlKDJuICsgMikgeyBncmlkLWNvbHVtbjogMiB9IC50Yi1idXR0b257Y29sb3I6I2YxZjFmMX0udGItYnV0dG9uLS1sZWZ0e3RleHQtYWxpZ246bGVmdH0udGItYnV0dG9uLS1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRiLWJ1dHRvbi0tcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0udGItYnV0dG9uX19saW5re2NvbG9yOmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGluZS1oZWlnaHQ6MTAwJTt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246YWxsIDAuM3MgZWFzZX0udGItYnV0dG9uX19saW5rOmhvdmVyLC50Yi1idXR0b25fX2xpbms6Zm9jdXMsLnRiLWJ1dHRvbl9fbGluazp2aXNpdGVke2NvbG9yOmluaGVyaXR9LnRiLWJ1dHRvbl9fbGluazpob3ZlciAudGItYnV0dG9uX19jb250ZW50LC50Yi1idXR0b25fX2xpbms6Zm9jdXMgLnRiLWJ1dHRvbl9fY29udGVudCwudGItYnV0dG9uX19saW5rOnZpc2l0ZWQgLnRiLWJ1dHRvbl9fY29udGVudHtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc3R5bGU6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7dGV4dC1zaGFkb3c6aW5oZXJpdDt0ZXh0LXRyYW5zZm9ybTppbmhlcml0fS50Yi1idXR0b25fX2NvbnRlbnR7dmVydGljYWwtYWxpZ246bWlkZGxlO3RyYW5zaXRpb246YWxsIDAuM3MgZWFzZX0udGItYnV0dG9uX19pY29ue3RyYW5zaXRpb246YWxsIDAuM3MgZWFzZTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Zm9udC1zdHlsZTpub3JtYWwgIWltcG9ydGFudH0udGItYnV0dG9uX19pY29uOjpiZWZvcmV7Y29udGVudDphdHRyKGRhdGEtZm9udC1jb2RlKTtmb250LXdlaWdodDpub3JtYWwgIWltcG9ydGFudH0udGItYnV0dG9uX19saW5re2JhY2tncm91bmQtY29sb3I6IzQ0NDtib3JkZXItcmFkaXVzOjAuM2VtO2ZvbnQtc2l6ZToxLjNlbTttYXJnaW4tYm90dG9tOjAuNzZlbTtwYWRkaW5nOjAuNTVlbSAxLjVlbSAwLjU1ZW19LnRiLWZpZWxkW2RhdGEtdG9vbHNldC1ibG9ja3MtZmllbGQ9IjQ1M2EzOGVlNzNhMjQ2OTk2ZWUxMjRjMDlkNTI2ZTljIl0geyB0ZXh0LWFsaWduOiBsZWZ0OyB9ICAud3AtYmxvY2stdG9vbHNldC1ibG9ja3MtZ3JpZC1jb2x1bW4udGItZ3JpZC1jb2x1bW5bZGF0YS10b29sc2V0LWJsb2Nrcy1ncmlkLWNvbHVtbj0iMzAzNGZiZTg4NmMxMTA1NGU5NWI0NmIwOWQzZTQxMTIiXSB7IGRpc3BsYXk6IGZsZXg7IH0gICB9IA==
I Wish Types Could…
We’ve had the pleasure of spending the last weeks on WordPress 3.5 compatibility, Access and a bunch of small, medium and large fixes. Now, it’s time to get back to new features!
When it comes to new Types features, we have two options:
- Go down to the basement, lock the doors and invent what we think is good for you
- Ask you what you think Types needs
Let’s try the second option and see how it goes.
Please also understand us. We live in a non-ideal world and we have all sorts of constraints. Tell us what you’re missing in Types and what would make your lives easier. We’ll do our best to help.
So, go ahead and leave your comments.
We’ve had the pleasure of spending the last weeks on WordPress 3.5 compatibility, Access and a bunch of small, medium and large fixes. Now, it’s time to get back to new features! When it comes to new Types features, we have two options: Go down to the basement, lock the doors and invent what we…
UI for “time” as well as date (ie. 2012/12/01 @ 12:30pm).
This would allow for a more full featured events custom post type.
A more streamlined way to create many-to-many relationships. Currently, you need to create a new custom poste type, or utilize a redundant taxonomy to solve the issue. I like the Rails approach, where you define that the parent has_and_belongs_to_many children, then in the child controller you declare it has_and_belongs_to_many parents.
I think you could achieve this by having a checkbox next to where the child/parent declarations are that allows you to check it if the item has a many-to-many relationship with a specific child or parent. Then upon save, it would create the new polymorphic join table.
Please add support to tranlsate slug in other language with WPML for Types ! It’s a big request who a lot of customers are waiting
Yup. We need it for our own sites as well. Mihai is adding it to WPML as we speak now 🙂
I know you can do this with a bit of code, but when you define a field in views (eg a url – say a link to the “detail Page”) it would make life simpler if there was a box to tick that tells the program to display or not display the filed based on the field content.
eg
FIELD-1 [no content] (display if present set) – don’t show it
FIELD-1 [content] (display if present set) – don’t show it
This tick box could default to show and be ticked to hide.
PS
I am about to buy this – it’s just what I was looking for – I hope you do well with the new business model and continue to add value via this channel.
I would love to see TV add on modular extras like ACF and integrations to popular plugins like Gravity Forms.
It would look something like this: http://www.advancedcustomfields.com/add-ons/
ACF may work for developers but real people need the ease and support of ToolSet, and the added functions provided by CRED and Views.
Adding modules would all add new functionality and bring in new customers. I have searched the web for this functionality and cobbled together something that (almost) works.
Modules:
Address fields – match the address fields in Gravity Forms
– including drop downs for State/Prov and Country and preset defaults
Google Locator: allow users to add maps easily to listings – currently the only way is through iframe in and HTML box and would allow location proximity searches needed for store locator type applications
Use the Address Fields module but then adds
– a field generated by Toolset for full Address in one line
– a function that calculates lat/long to be used to create a Google Map
– the ability to do a Geolocation search by proximity (eg 100 m from ____ entered location)
Ratings: allow users to assign a rating field that would show up as a 5 star rating.
– repeatable field
– include a field for aggregated (averaged) ratings
Reviews (similar to WP Customer Review plugin)
– hReview formatted field that could be linked to Ratings to create customer reviews
http://microformats.org/wiki/hreview
If you check the WP forum WP Customer reviews is the only hReveiew plugin with star ratings and the dev has stopped supporting it – it is still being actively downloaded at 900 downloads per week. There would be lots of new customers for TV if a supported Customer Review feature was available from Tootset
Gravity Form integration
I know that parameters can be passed back and forth from GF to TV and vice versa but I have not yet succeeded in getting them to work – it would be great if there was a module when fields in GR and fields in TV could be passed through a simple drop down selection.
–
GeoMyWP: Geolocator
Simply integrating GeoMyWP with TV would provide the Location function without you needing to reinvent the wheel.
I would love to see some streamlining in the process of creating types. There seem to be a lot of moving parts and if you don’t use this very often you can easily forget how to do it the next time.
Numeric formats.
I mean if I were to enter fortyfive dollars and thirtyfive cents in a numeric field, I have to enter it as “45.35”, but I would like to be able to choose a format, so that I could enter it as “45,35”. For Danes, this is a more normal way of entering currency values.
I like that I cannot enter letters and other characters in the numeric field, but I would like to be able to enter “,”.
Custom columns for custom post types list (like this plugin: http://wordpress.org/extend/plugins/codepress-admin-columns/).
Improve the user interface. to be better integrated with WordPress interface. For example, As Easy Custom post types plugin (http://codecanyon.net/item/easy-custom-content-types-for-wordpress/234182).
I think this plugin is very good, but has an interface “sad”.
Highlighting code editors in Views.
Moreover, it is a amazing plugin.
Also, Add filters taxonomies and custom fields for custom post types.
A way to create separate sections for field groups of a custom post type to make data entry a bit more structured.
– group A heading –
Name
Phone
Email
– group B heading –
Address
City
State
Zip
– group C heading –
bio
If you create separate groups for these sections, wouldn’t it produce exactly what you are describing? Each fields group has its heading and description.
Yes you are right, I was not aware that you could create several groups and assign them to the same custom post type ;-). Feel free to remove my comment.
Joe – your comment is valid and helps others “find” solutions. I am new to this and have now lodge “grouping” in the grey matter!
Maybe a search box on the forums would be useful as I like to see if anyone else has had the same “problem” as me before submitting a question.
I would like to see this bug fixed in the next release.
http://irgpt4.custom-site-design.com/services/
Have you reported it in our forum? If so, please let me know the link to that thread.
I have. You can see the thread at: https://toolset.com/forums/topic/just-these-two-things-and-ill-be-ready-to-roll/
More videos on building websites using T & V. I’m a graphics guy who loves to be able to follow a sequence to get results. If I have to look at code I get blurry eyed. The Youtube videos1 – 7 with Amir have been most helpful and I’ve watched each one 5 times. It helped me get the basics down but now I want to learn more and see how complicated sites get setup.
I’ve setup and have gone through all the demo site and tutorials but they are all 1 category deep with most of the queries being done with views inserted on pages and Posts. Where I get confused is should I be doing more organizing of my content using standard WP posts and categories (w/subcategories) or with Custom Post Types and Taxonomies. I’ve yet to run across an example of sub Taxonomies and how to utilize that setup which makes me think using WP Categories is the best way?
I am committed to your products and will do what it takes to become an expert at them since I feel it will benefit my company greatly in building next generation websites that the client can easily maintain and grow with.
Certainly. You may want to know that all of us here are not happy with the way our current ‘learning’ section works. However, I think that we finally found a way to make it both complete and easy to follow. We’ll be placing the documentation inside of the reference sites, so that you can click on any part of the screen and see detailed instructions on how to build it yourself.
I hope that have this running in about 2 weeks. We’ve already started building it.
On pagination have the ability to have and control where the next and previous arrows display. Currently it’s at the top. Would be nice to have setting on where and what to display.
I’ve tried using the code from https://toolset.com/learn/wordpress-sliders/ but inside Headway Themes it looked right but when displayed the arrows would use the browser window as the container instead of the paginated part.
Perhaps add Google Maps support for Views. So that you can add locations to posts and show these posts on a map.
I’d like to see it incorporate star ratings rather than having to do so via a 3rd party plugin
Here’s a short list off the top of my head 😉
I with Types could…
1. allow Custom Post Type slug translation (I know, it’s been mentioned in a comment above, and it’s a WPML thing, and you’re working on it, but this is really important).
2. create many-to-many relationships without the need for an intermediate post type. Relationships between posts and users would also be handy.
3. attach metadata to taxonomy terms and users.
4. set a different slug for single posts and post archives, i.e. /movie (single) and /movies (archive). I’ve posted in the forum about this, see https://toolset.com/forums/topic/specify-cpt-archive-slug-as-string/
5. import and export settings via wp-cli.
6. provide a nice API for developers to create additional field types/inputs.
Oops, I mean “I wish Types could…” not “I with Types could…”, damn typos!
Oooh, just thought of another…
7. generate sortable columns in the admin screen for custom field values
Some easier or clearer way to integrate CSS.
Theme based on Twitter Bootstrap.
Yes, to make the toolset more complete either a premium plugin or theme for handling the ui side (with Bootstrap integration) would be really nice.
For a plugin, inspiration can be drawn from for example The Elegant Themes Builder.
When it comes to themes we have like many others looked att most theme clubs and tools but found nothing optimal yet.
There should be a drag and drop, wysiwyg, framework for the designer to do all layout and visual settings. Import and export so that the “thin themes” (settings, css and img – no php or html) that are created could be sold and bought on a market.
With the tools that we have today (like bootstrap) a theme should be able to be viewed as just a spreadsheet table where every cell is a widget position. There should be little or no need fo coding skills on the designers side to create this. Just add a new row and set the design for every cell.
Inspiration can be taken from tools like Ultimatum, Gantry, Headway and Microthemer
They seem to be all good in their own way but none of them have all things in place.
It should be fast, easy, simple and fun to work with themes. Our customers cant afford having us spend much time on graphics design so working with themes needs to be both really fast and simple. We need to be able to buy a design close to what the customer wants and with the speed of light customize it to the customers needs.
– for my recent project I really miss the field type “multi-select” in field groups.
– or alternativ allow “multiple instances” of a select field – like it is possible for text and other field types. (why isn’t is possible for select – I wonder??)
Thanks! 🙂
Actually, we’re going to add a bunch of new field types soon. Right now, we’re fixing the repeating fields, of all kings, so that you can control their sorting order.
I wish WYSIWYG fields could be repeating. There’s no way to have images/text (media uploader) in custom fields otherwise.
Repeatable groups of fields. And no, the child/parent thing doesn’t cut the mustard. Your competitors offer this functionality (Advanced Custom Fields, Custom Field Suite, and soon Pods v2.2).
Is our repeating field groups via parent / child relationship insufficient in some functionality, or too difficult to use?
There’s a tutorial here for how to set it up, populate and display:
https://toolset.com/documentation/user-guides/creating-groups-of-repeating-fields-using-fields-tables/
As far as I can tell, this does not work with CRED forms, correct? If so that’s a pretty big insufficiency (as far as this feature goes) for me.
Very good point. It doesn’t yet work with CRED, but we’ll make it work.
The parent / child thing is only pertinent when the the repeatable groups of fields merit their own post i.e:
http://wiki.magicfields.org/lib/exe/fetch.php?media=v2_group_duplicate_post.jpg
http://wiki.magicfields.org/lib/exe/fetch.php?media=v2_group_duplicate_remove.jpg
(just a visual example, they are actually showing repeatable groups of fields. In the above example however, I think your Parent / Child method would be relevant as the content entered would / could probably be referenced by other pages)
But take the scenario of trying to create a manually curated list of related websites. You would need a group of fields to collect info for a for the title, an for the link, a for the description and an for a screenshot. You won’t know how many related websites there are, so you need to be able to repeat this group of fields adhoc per related website you want to create.
Using the child / parent method would only be reasonable in this situation if the content you create was to be referenced by other pages. In this example, they would not. ‘mI sure there are many similar situations where ‘one-off’ data groups are created that don’t merit their own page. In fact, I know there are, that is why I currently use Custom Field Suite.
I’m sure a repeatable WYSIWYG text field would kinda work. This however, should almost always be avoided – Rachel Andrew gave a talk at the Smashing Conference this year called ‘The Future of Content Management’. (http://vimeo.com/54834476). She explains why.
Doh, forgot your comments parse HTML. Should have read something like:
‘But take the scenario of trying to create a manually curated list of related websites. You would need a group of fields to collect info for an “h2” for the title, an “a” for the link, a “p” for the description and an “img” for a screenshot. You won’t know how many related websites there are, so you need to be able to repeat this group of fields adhoc per related website you want to create.’
Sorry for borking your comments…
These are very good points and I’m glad we’re having this discussion. You know that things look differently when we design them in vacuum, than they are in practice.
We came up with the parent / child approach for repeating groups of custom fields, so that it will be easy to display them. While I’m still happy with that approach, we can clearly see the shortcomings in the scenarios that you and others have described. You can be sure that this is a step in the right direction.
Now, we need to see how to make things work reasonably and conveniently. We have several alternatives in front of us. Having a better picture of your needs certainly helps.
We’ll give this some thought and see what we can actually implement and I’ll write more about it.
Adding to what Bob said (I hope this is not redundant) one of the uses I have in mind for repeatable groups is for an order form for products or services. I would want the ordering customer to be able to add as many items to their order at once, with each item* requiring at least a title and a quantity (and more fields in some cases). I’m not advanced enough to explain exactly why, but I don’t think I would want each item a customer adds to their order to be an independent post floating in the system outside the containing order. It just seems messy and inelegant. Also, the fact that you need to save the post first before adding to the field table seems a little clumsy and counter-intuitive, at least to certain customer targets.
Just a simple request — allow us to turn off the “Edit View” link that is visible on the front-end so my admin users don’t end up going in there.
+1 for this.
Makes sense. I’m adding to our todo list. These ‘edit view’ links only appear for admins, but it would be nice to turn them off for admins too if you don’t need them.
Great!
I would like to see more field types.
Specifically, a Map field that works with CRED.
I’ll gladly pay for that.
Yup. Map fields are high on our wishlist and we’ll get to them.
I wish Types allow field-level or field group-level access permissions. This way for let’s say subscription site would be possible to have Customer types with some fields like personal information editable by the customer and the admin and some fields like subscription plan, subscription expiration date and so on editable by admin only. That would make sense for many custom types in multiple business scenarios.
I would like the option of changing the way the checkbox field looks on the front end instead of a series of checks it would look like a row of buttons and as each button was depressed the filter would “apply” automatically and then the user could turn off the checkbox by clicking the ‘button” again.
Custom post statuses, ala Piklist Custom Post Statuses would be cool.
A filter by user in View would be very nice…
Yes, we’re working on this right now.
Default text value in types!
make the date custom field, a date time filter so i can pick the date and time for use with events
It’s really an oversight on our side. We’re going to add full date fields very soon.
A better image field!!! with easier deletion button. And, above all, the ability to customize fields looks in a easy way…(maybe having control on metabox inner html (using shortcode) or drag and drop…)
Ordering multiple filters
I’d like to have multiple filters to order my views
I just order my “events” custom post types by “event-date”, but i can’t choose anything else.
I’d really like to add my custom field: “priority” and order posts by this and event-date.
This would be helpful for me too.
I’d like to change custom fields from wpcf-name to wpcf_name
when i export custom fields to json and i try to import them in jquery (javascript) i have a very big problem:
– I Choose the Json item: data.post.custom_fields.wpcf-name
– Variables in JS can’t have “-” char because it means wpcf – name (minus)
– So i can’t use this type of notation
Changing that would break lots of current users code. I often use [wpv-if myfield="wpcf-myfield" ...] I don’t want to see that break.
Use standard post fields in filters, not just custom fields – it’s not intuitive that I can’t filter by author for example.
Order by multiple fields, e.g. Title, then post descending. (same as Alessandro)
I often have the same view repeated several times with different filters – I’d like a simple way to re-use the view with a a different filter.
Perhaps in the same vein, I like to have my views and templates under source control – so perhaps a template type structure?
I would love if the user had the ability to filter contents on the fly – like you see on ebay or many other sites rather than setting all filters and then selecting APPLY.
http://www.ebay.ca/sch/i.html?_trksid=p5197.m570.l1313&_nkw=laptops&_sacat=0&_from=R40
Click on the Used Checkbox and the list is filtered immediately, click auction and it filters again, Canada – again, until only the listings you want are still there.
For Directory type websites this would be a huge help.
These are very good suggestions. We had some already in our plans and I’m adding the others. Thanks!
1) Add a BLANK website to discover-wp and the ability to export and import types views, templates, etc – that would make duplicating issues on your test site much easier.
2) Allow users to upload their own templates and plugins to discover-wp.
This would allow us to quickly and easily duplicate problems. Right now it is very time consuming to attempt to replicate a problem on your test site as we can only use your templates and your data.
A blank website is actually coming to discover-wp.com very soon. That’s the very next thing we’re doing there. We’re also building some nice functionality to export and import selected parts of your site.
We’re not going to be able to support custom plugins and theme uploads to discover-wp.com. This is one huge Multisite WordPress installation and the code that runs there is the same for everyone. It’s very similar to WordPress.com, just a lot smaller. If we allow uploading plugins and themes, it will quickly become unstable and unsafe to use.
That is good news.
I understand about not wanting to make the site unstable. Would it be possible to add BOOTSTRAP via a plugin or a theme?
My Views are built with Bootstrap in the templates so they will break on another site. I know that trying to replicate every themes shortcodes would be crazy but more and more sites are using the bootstrap core.
Bootstrap gives an easy way to add so much functionality to Views – Tabs, Accordions, Buttons etc
Thanks for considering.
Sharon
Can you paste here a link to ‘Bootstrap’? I’d like to have a look and see what you are referring to.
Bootstrap is wonderful – I use it to style my Views. I use the CSS from Bootstrap to create the container ( tabs and accordians and buttons) and the Views fields to fill them.
It also provides an easy way to display responsive columns. I am converting all of my Grids and Tables to column divs.
One of the challenges you have with Views is that your Views are based on tables which most people are moving away from.but bootstrap solves this very nicely.
Main Bootstrap site:
http://twitter.github.com/bootstrap/
Plugins that add BS to any WP theme:
http://wordpress.org/extend/plugins/wordpress-bootstrap-css/
http://wordpress.org/extend/plugins/dw-shortcodes-bootstrap/
Bootstrap based WP Themes:
http://bootstrapwp.rachelbaker.me/
http://320press.com/wpbs/
http://wordpress.org/extend/themes/the-bootstrap
http://wordpress.org/extend/themes/wordstrap
I use: http://wpjumpstart.com/
This article discussing integrating BS with WP
http://blog.teamtreehouse.com/responsive-wordpress-bootstrap-theme-tutorial
Sharon
Got it. So, if you get a site template that has no content and the Bootstrap CSS and JS libraries, that will let you do whatever you need?
Yes – as long as I can use the bootstrap CSS my Templates and Views will look fine on the discover-wp site. Any bootstrap theme will work. I use CSS rather that shortcodes so that it doesn’t matter which Bootstrap theme I use it will still look pretty much the same.
I Agree, I would never use the table based renderings of Views. But you don’t have to. I use “Unformatted” or “Unordered List” for everything. Mostly I can’t use the field insertion tool as I always need to customize the html.
And Bootstrap is becoming a standard. It’s very nice. It’s implemented directly into the PageLines Framework, and I would like to see it supported by Views. Then all I need to do is get it implemented in HeadWay and my workflow would be complete.
When we started Views, we had limited understanding of how to build these constructs. We now a lot better now and will be updating the Views layouts so that they are actually useful. For backward compatibility, we’ll leave the existing ones and will add new and more modern ones.
The next theme for discover-wp.com will be based on Bootstrap and will include the full CSS and JS. We’ll build some major blocks on top of it and see how it goes. I should have a lot more to share in about 3-4 weeks.
Bootstrap should be loaded in wp core. It is for example now in the Joomla core.
Would love to see Views make use of Bootstrap and to load it if it is not loaded elsewhere. Plugin authors should mainly focus on functionality and leave most of the visual elements to be skinned by the theme.for a more consistent look and feel. Bootstrap is fast becoming a industry standard and can help out with this.
Still havent found a good theme framework to work with bootstrap and toolset. Ideas and suggestions are welcome
Demands:
Pay once (lifetime, unlimited)
Drag and drop (layouts/widget areas etc.)
Compatible with bootstrap, toolset, wpml and woocommerce
Auto updates
Market for themes (or child themes)
Good support
I would make that an option. Bootstrap is nice, but is an overkill for many tasks on my opinion. WordPress core already contains jQuery which has a lot of functionality similar to Bootstrap and it is often more efficient to use jQuery plugins to do stuff than to load a whole Bootstrap library just to use some small function of it.
As of Bootstrap CSS some people are using other Framworks and they don’t need to carry all Bootstrap CSS classes along.
Please give people a choice! There are other good libraries and frameworks as well! Let’s keep competition alive!
Agreed. We’re not going to force anyone to use a CSS framework that he doesn’t like. What we’re thinking is to add this as an option, so that if you want to use the Bootstrap CSS grid, Toolset elements will fit nicely without requiring you to do ugly hacks.
You have a valid point and I am all for freedom, competition and choice, as long as it conforms to a common open standard 🙂 If the different frameworks share the same standard I really dont care how they implement it.
Thing is that we need a standard, defacto or open, if we are going to be able to use toolset apps in the way atleast I need it. For example, when it is possible we are planing to build an app with tolset that makes it possible for our clients to trough the frontend add events to their time.ly calendar (Time.ly have no unlimited lifetime license yet for the pro plugin so we cant use it) and to present it in a nice responsive view.
For this to work in a cost efficient manor we can not add any form of css to the app itself but use a framework. Atm there is 5 sites we need this for with different themes from different vendors. This will become a problem since we will not get payed enough to make a custom css that fit nice with each and every theme and their respective framework.
Best would be if wordpress had a good standard ui framework from scratch and for example a button is defined in the same way in every theme and plugin out there. I should not be forced to go in and make extensive and expensive additions to the theme css. The formating should already be there in the theme so that everything looks consistent.
And if it in the future will be a store for toolset apps I would like the apps I download to look alright with everything else on my site without the need to make a new costly css skin for the app.
One way could be to have a loader to load the framework the app need (like http://zentools.joomlabamboo.com/) but then you get a realy heavy site since one app on the same page might need another framework (if they do not share the same standard).
I have no real solution for this but I do know I like Toolset and I also know that I still cant find a theme framework/supplyer that solve my needs.
Add Custom field Type: “User(s)”
Often I need to associate users with specific posts. I then create a custom field (single line), and add the user id’s as a comma separated list. This works fine, but for my clients, it would be so good, If I could have Types render a form element to select users.
Ideally, I’d like to be able to choose if the field should render as select or multi-select. I’d also like to be able to choose what user groups it should include/exclude. This should include custom user groups that may have been registered (with Access or another plug-in or theme code).
Oh yes. This is the next major thing on our roadmap and it’s a significant new feature that will take time.
Right now, we’re finally fixing the repeating fields in Types. You will be able to sort them using Drag-and-Drop interface and display with that order either using PHP or Views.
Then, we’re adding the same nice ordering interface to repeating field groups using Field Tables.
We’re also adding that long needed Time field type. Then, a bunch of little bugs to fix and we’ll be ready for user fields.
Sounds OK?
(well this is not strictly Types)
Extend Access to allow for:
– Restricting a specific (singular) page to a specific user and/or user group.
– Restricting areas inside the content of a post/page to a specific user and/or user group using short codes.
Yes. We need this too for the Classifieds reference site that we’re building. Every membership site needs to have pages that show content for the specific logged-in user. For example, we need to show payment information for ads and ‘your ads’. For that, we need to enforce login to access these pages.
This is the next major feature for Access plugin.
Sounds great. One thing to consider, is how to restrict access for non authorized users to assets (files) that users might need private access to.
For a current client, I’m developing a site, where they want to make videos available for download for their individual clients. It’s not difficult to renter a list of client videos for a logged-in user, but the challenge is, to make sure, those files can’t be directly downloaded/hotlinked by anyone who knows/guesses the full url. This could be managed with a guarding layer/script/htaccess solution..
Some users won’t be able to place files outside the web root, so placing the files in the WP uploads would be preferred. But here, something extra must be in place to make sure direct download by full url is blocked.
I think a general rule (.htaccess?) preventing ‘hotlinking’ could do the trick, set up so only localhost can access the files, and then the files could be served through a local php script that renders a temprary time limited link url and served the file via readfile (octet stream).. I’m not an expert.. so my explanation is probably a bit coarse.. the point is to prevent direct linking..
I am really waiting for this reference site, just what I need, I hope.
Hopefully you are going to include different payment gateways, not only PayPal (that is not used commonly in every countries)? I hope you are making it possible to use any of the WooCommerce’s Extension / Payment Gateways (like we earlier discussed in some blog comments)? F. ex. I desperately need this Finnish Payment Gateway: http://www.woothemes.com/products/checkout-fi-gateway/.
Thanks in advance, keep on the good work! 🙂
I would kill for the possibility to add custom fields to users via types.
Me too. We want to have support for it in Types, Views and CRED. Planning to start around February 2013. We’re not lazy, just have a bunch of other things that we’re adding before 🙂
You’re definitely not lazy 🙂 I’m amazed at the level of _useful_ innovation and speed of development you guys are capable of. Not afraid to invite you’re users to suggest feature requests, and then you’re promising to fulfill most of them. On top of that, you provide quick and persistent support. You’re the single most valuable resource for me as a WordPress developer.
Yes! This would be an amazing feature for an already amazing plugin. And I second Mikkel’s sentiment :-)…
I wish Amir would create a separate blog post titled “How should Types implement Post Relations?”.
Post relations are not mentioned at all in the comments here, yet I find it one of the most essential functions of a CMS. And It’s currently lacking from WP Core.
Am I the only one?
Types implements functionality for setting up post relations, kudos for that, but I think it could be improved. Do we really need to manage ‘intermediate’ objects (CPT’s or shared use-once custom taxonomy terms), for handling many-to-many relations? The way the relations are handled in the edit screen could also be improved to provide for a better workflow and scalability. Currently, I like the way it’s implemented by posts2posts better, but I’d like it to come from Types, to get a tight integration with Views.
I have also talked about it in the forum: https://toolset.com/forums/topic/on-post-relations/
ups, this comment got in the wrong place, added it also the the bottom, could you delete this one and my above comment, it was not supposed to be a reply to this thread.
Add an ‘ID’ parameter to the [wpv-post-body] shortcode to allow to fetching content from other posts than the current.
In the query editor of Views; Add an option to compare a field value to the current user_id and user _email. I need to generate a View that fetches only posts that has the current logged in users email as the value of a custom field.
A “unique URL” custom field to avoid duplicates.
In Pods, you can set the custom field type as “URL” and make it “Unique”. That way, you cannot add wp-types.com twice 🙂
Myself and a few clients have been in need for something like this for a while. How about an import functionality for custom posts created with types.
Using third party plugins get’s really annoying and doesn’t work half the time. If there’s was one native to types, that would be awesome and save lots and lots of headaches.
Good idea!
I wish it would be possible to add or edit other language translations of posts on the front end. Something like a link in a post View Template that said ‘add (edit) translation’ to French, German etc. Something very similar to how child content creation links work.
It would be great to be able to create a sequence of CRED forms. It can be useful, for example, in process of registration, when user need to create his profile first (a parent CPT created via a CRED form), then add some services he wants to use (children CPT created via separate CRED forms) and so on. Idea is that a submitted form be able to redirect user to the other form in accordance with some variable info like user id or his profile post ID, ‘stage’ of registration process and results of previous form submission (success or failure).
One way I see it can be achieved is that during the first step of the sequence some kind of session information object including user id, sequence step number and similar be created and passed along to all forms in a sequence within GET or POST. Other forms then be able to read and modify this information and behave accordingly. I guess that would be more flexible than to create a predefined form sequence.
This can be coupled with a more flexible CRED form redirection option where it would be possible to use:
– Conditional statements: If variable X of a session object is set to A then redirect to page-a (and pass a session object along)
– Multiple redirection options within one form depending on conditions.
It would be also great if in CRED form some areas can be shown or hidden depending on session object values (show this field group if X is true).
So basically all we need is some session object that can be passed along and modified within forms. This object fields should be accessible with types shortcodes and types API. An API can be something like:
create session object
add field to the session object
modify field of the session object
delete field of the session object
attach session object to the request (if not attached it be destroyed)
That’s how I see it but probably there are better ways to implement.
If this is too complex, a simpler thing would be great, too:
1. Ability to create a CRED form and pass some parameters to it as GET (for example, member type, redirect URL and so on).
2. Be able to access GET fields from within a form (member type filed be populated with member type GET value)
3. Dynamic form complete message/ redirect options where redirect URL can be read from the GET value and message text can contain some variable data via shortcodes (from form fields like user name and from GET values like membership type). Conditional logic would be greatly appreciated too!
Even without this Tookit is one of the greatest things for WP ever created IMO. Thank you for your great work!
Multi-page forms are high on our wishlist and they will be added to CRED pretty soon. In the meanwhile, for what you are describing, you might be able to get along with a little bit of PHP and CRED’s API. You can put the different forms on different pages. Then, use CRED’s API to hook to the form submit and redirect to the next page.
https://toolset.com/documentation/user-guides/cred-api/
In addition to the above suggestion to add Types features to User Profiles, I’d LOVE to see the ability to create views based on meta from those user profiles.
I have a use case where I’m working with a site that has an extensive staff directory and also board of directors. Perhaps I’m doing this the hard way, but each of those items are currently custom post types, with taxonomies for certain meta, such as Organization, Department, Position etc.
If there were Views we could build off of User Profiles and query by existing meta, or custom meta from Types, then that would make this a much simpler process and really, really extend what you could do with a website.
I’m working on a Entrepreneurs Network for a prominent school and something like this would be pretty amazing since they really don’t want something with social networking capabilities, like BuddyPress.
Certainly. When we add support for user-meta fields, it will go into Types, Views and CRED together. You’ll be able to define the fields in Types. Then, query filter and display them with Views and finally, edit with CRED.
Wow. That was quick! lol.
You guys are are really “on it” with this project.
I know you can’t give a precise update on when the user-meta fields will be delivered with Tool-set, but is there a general time frame you’d like to see this delivered by?
On January, we’re trying to complete a major upgrade to Types that includes drag-and-drop sorting for repeating fields and big usability improvements to our fields tables. User-meta fields come after that. It should be ready in sometime in March.
When creating a custom page with CRED there is no way to assign a Views Template to the new post – and in fact the current template is stripped from it when the page is created. This seems to be a huge oversite.
There is a spot to identify which page type you are creating – it wish that there was a spot to indicate which template should be used with the post/page. Without this CRED is only useful for editing page types and not creating them.
Does this also happen if you set this View Template as default for the content type? In that case, the newly created page should receive the default View Template.
No idea – how do you set a default content type? That would help one listing type but I have 5 different types each with their own template and each uses a different CRED form.
CREd really help because I can only show hte user the fields that go with their listing but it’s a nuisance as once the user creates a custom page they must wait for me to change the template before they can see and edit content.
What I would like is:
1) User Registers and Logs in and then is redirected to the appropriate (gold, silver, bronze) Blank Listing with CRED CREATE form.
2) User fills in data
3) Custom page is created with correct template’
4) New page is displayed so user can edit the content (using CRED Edit form).
Instead I must:
1) User Registers and Logs in and then is redirected to the appropriate (gold, silver, bronze) Blank Listing with CRED CREATE form.
2) User fills in data
3) Custom page is created with not template’
User cannot continue
Email is sent to me notifying me the form was completed
‘I open the listing and switch to the right template
I email the user to let them know the switch has happened
I email a link to the new page
4) New page is displayed so user can edit the content (using CRED Edit form).
This is just not acceptable.
Instead if CRED cannot assign templates I will switch to using Gravity forms for the creation of pages and only use CRED to edit.
I’d love to be able to have conditional filters. The specific use case I am currently trying to support would be something like this:
1) User is presented with a property search from
2) User chooses a ‘State’ to search for real estate
3) After the user selects a state, they are presented with a dropdown of counties in that state
Yup. This is up high on our todo list. We’re closing a release for Types, Views, CRED and Access in about 2 weeks with some other new features. Then, we’ll be working on this and some other new features.
Great! It will probably be too late for my current project, but Views exposing URL parameters as filters is REALLY helpful with building filterable search forms with PHP. I wish WordPress would hurry up with a forms API already! 🙂
Not so sure about twitter bootstrap at all. Is the most popular css framework without any doubt, but is far from being a standard , for example zurb´s foundations is a strong player (even is better). The really cool thing would be than you could choose the classes series… and you had predefined the bootstrap way, foundation way, 960 way… just the most populars, just to make it “automatic” , but just in case you can give your own.
We’re not sure either, but we’re pretty sure that we need to start somewhere. Cezary, our theme developer, is embarking on a project to create modular elements that we can offer our clients. These will include sliders, testimonials and other handy blocks. We will see how they go with different CSS frameworks and tell you all about it.
There need to be a UI standard for wp. Maby Bootstrap is not the best but it seem to have the traction needed to become an industry standard. Joomla will now surely benefit with having it in its core.
Plugin developers should do their best to not touch css in any way and instead conform to a standard framework, leave UI customization to theme designers.
Today alot of plugins cant be used out of the box but need special treatment in the theme and since thememakers cant afford doing this for every plugin out there, some plugins like buddypress is not used to the extent it could be.
Another example is woocommerce. Now with 2.0, themes and customizations built for 1.x cant apparently be used any more. Its like explorer 6 all over. We have customers that atm cant afford another custom childtheme rebuild and therefore will be stuck in 1.x and somewhat discontent.
The cost of development and ownership for wp need to go down to still be competetive in the future.
I was surprised to find that there is no way withing Toolset to change from one custom post type to another. I did find a plugin to do this but it crashed my WP install and created a mass of errors. The manual method of changing post types is out of my league.
It would be great if I could choose and change a post type as easily as I can change a template.
Some way of creating visually custom regular expressions for input validation e.g. UK postal code format is AANN NAA or AAN NAA
It would be very useful to create custom mask(s) visually and assign to an input field with validation text.
I wish Amir would create a separate blog post titled “How should Types implement Post Relations???.
Post relations are not mentioned at all in the comments here, yet I find it one of the most essential functions of a CMS. And It’s currently lacking from WP Core.
Am I the only one?
Types implements functionality for setting up post relations, kudos for that, but I think it could be improved. Do we really need to manage ‘intermediate’ objects (CPT’s or shared use-once custom taxonomy terms), for handling many-to-many relations? The way the relations are handled in the edit screen could also be improved to provide for a better workflow and scalability. Currently, I like the way it’s implemented by posts2posts better, but I’d like it to come from Types, to get a tight integration with Views.
I have also talked about it in the forum: https://toolset.com/forums/topic/on-post-relations/
Not sure if you’re still open for feature requests, but I’d really like a tiny addition to Types that would be very helpful in many cases and that is “taxonomy images”, i.e. being able to associate images/icons with custom taxonomies and display them when needed.
I know there are some free plugins that offer this functionality, but I’d rather have it included with Types than install a separate plugin for this small (but great) feature.
Hope to see it in the next update 🙂
You could always use a conditional function like [wpv-if evaluate=”‘[wpv-taxonomy-title]‘ = ‘My tax'”][/wpv-if]
See the reference here: https://toolset.com/documentation/user-guides/conditional-html-output-in-views/#checking-taxonomy-attributes
I suppose that could get tedious, depending on the situation.
There needs to be a better way to do media images with CRED – my users are uploading a new file over and over and over again because the edit screen does not show which image has been loaded and does not show the images already associated with a post.
CRED is a good idea but I’m finding that my users are finding it confusing and I’m considering cleaning up the backend and using that instead.
Another CRED suggestion – I need a WYSIWYG editor where content can be cut and pasted in from a RTF program like MS Word – trying to cut and paste from Word to CRED is a mess.
One other thing I’d like to see is a way for Types and Views to pull in content from Theme Frameworks. In this case, the Genesis Framework. There are functions that the framework has such as Layout Options, SEO Meta Boxes etc. Whenever i create a CPT that data never is displayed. I always have to include it using a function. That kinda drags considering most of my projects are built with that framework. Not sure how it plays with other frameworks, but that would be something to think about.
This makes good sense. It really depends on how that information is stored in the theme. We would love to work on this with any theme vendor. Would you like to see if the StudioPress folks are somewhat interested?
Always glad to help where I can. =)
1. Multi-select input field
2. Being able to populate a select field with posts from another CPT
Thanks in advance
Display a VIdeo in a Types Field.
There are types field for Images and URLs but none for Videos.
WP 3.5 makes adding a video to a page as simple as putting in a URL but this does not work with Toolset and according to your developers is not possible for you to add.
https://toolset.com/forums/topic/embedding-video-in-a-template-with-wp-3-5/#post-36238
This is a huge limitation.
I wish that Views would be able to query post relations registered with the excellent post 2 posts plugin by scribu
We’ll be happy to look into this. In the meanwhile, can you tell me what sort of features you get in P2P that are missing in the parent/child relationship in Types?
It would be cool if Toolkit provide some Ajax-type elements to edit fields within custom post without page reloading.
Would love the ability to add woo-image from Woothemes framework
It would be cool to have:
1. An ability to work with images in View filters. Right now, I believe, there is now way in Views GUI to filter out posts that have, for example, no image attached to the image custom field (not show members that have no photo attached, for example). It would be also great to filter by image dimensions and chose not to show posts where an image has, let’s say, horizontal dimension lower than X pixels and vertical dimension lower than Y pixels.
2. Data templates. Let’s say there is a price list consisting of price list item custom posts. Each price list item represent a particular good or service and may contain service or good description, price, photo etc. There is also an Order custom post type that may have one or several Order Items attached as children. Each Order Item is a copy of a Price List Item.
It would be really great to set that Order Item is based on Price List Item and then:
– In WordPress admin, when a new Order Item post is created, have a dropdown with Price List Items that allow to populate all Order Item fields from Price List Item selected.
– In toolkit API have a function that allow to create a now Order Item based on a particular Price List Item custom post. Something like add_post($post_type, $template_post_id), where $post_type is the type of the custom post we want to create (‘order_item’) and $template_post_id is a post_id of a particular Price List Item custom post (Service A) whose information we want to use to populate an Order Item object.
Price List Item and Order Item may share the same fields group, this will allow to avoid all inconsistencies with data fields.
You can certainly filter View output by images. In the filter section, add the custom fields for the images, select ‘not equal’ operator, CHAR comparison and leave the value field empty. This will tell the View that you want to load items that have an image. We’re doing the same in our own testimonials page:
https://toolset.com/home/testimonials/
I’ll need to study your second request a bit more to see what we can do.
Dear Amir,
#1 seems to be not working for me (I’m using Views 1.1.4.1). Here is what I have in filter options:
Select posts with custom fields: wpcf-occupation != OR wpcf-member-photo != OR wpcf-first-name != OR wpcf-second-name !=
All datatypes are set to CHAR. It is working for wpcf-occupation, wpcf-first-name, and wpcf-second-name, but does not work for wpcf-member-photo. I thought it is because IMAGE type is not supported, but if it is not the case then it is probably a bug.
I found a workaround (thanks to Adriano for support), but it is not pretty: inside wpv-loop I have to include content of every ‘node’ ([wpv-item index=1], [wpv-item index=other], etc.) into [wpv-if image="wpcf-member-photo" evaluate="!empty($image)"] … [/wpv-if] clause. It would be much simpler to set it in a filter!
Do you have any plans to add GROUP BY into view options (something similar to filter options) with an ability to specify a group header content? Yes, there are nested views that can do than but, on my opinion, they seems to be an overkill for such a simple task (we have to create two views instead of one). Even SQL has a group by option ‘built in’!
BTW, thanks for your hard work, Toolkit is simply great and I’m really enjoying working with it!
Importing and exporting from Excel to Types and back is HORRIBLE!!
So far I have not found even a good example or documentation of what to do
We don’t have an importer from Excel to WordPress. What are you using for that?
That is my point, I have Excel data and I have found the import process to be very daunting.
I am very impressed with Types but this import/export non-functionality was not expected.
But here is my thinking…
I believe I should probably roll my own C# program that exports my Excel to the XML format that Types reads.
But I am finding NO documentation regarding that XML format.
So what I am doing is creating my Type and Taxonomy in Word Press and exporting that XML.
That way I will have my data definition.
From that I will write a C# program that reads my Excel file and writes it out to an XML file compatible with my XML data definition.
Then in Word Press the import XML function of Types should work.
Should work right?
There is a nice CSV importer plugin that you can probably use:
http://wordpress.org/extend/plugins/csv-importer/
Types will setup the custom post types and fields and then you can import your data with it.
You can save your spreadsheets as CSV and import to WordPress.
Yes I tried that but it does not work.
It all imports but Types does not recognize what I imported.
I know I have seen that other people have reported success with that on this forum (I have searched the forum extensively) but I have never found ONE coherent set of instructions of any type regarding what is necessary to make that happen.
By the way you did not really answer my question. 🙂
I would like to see the addition of a time field to Types.
Yes, i’ll second that time fields please.
I would also like to have shortcodes for Views and View Template that will check user name, and some other user-related information:
If post author is user currently logged in
Sorry, messed up the previous message by hitting Enter at the wrong time. What I wanted to say was:
It would be great to also have shortcodes for Views and View Templates (and probably for CRED forms too!) that will check user name and permissions:
If post author is the currently logged in WP user { show something special },
and, similarly:
If WP user currently logged in is a certain WP user { show something special }
If WP user currently logged has a certain WP role (or has a certain capability) { show something special }
Would be a great addition to capabilities already in the Access module!
I would Like to add autocomplete “ADRESS” custom fields linked to Google Map API !
Add Filter to a cred parent dropdown select list
Examples:
1. Book an Event
In a situation where you want to create a booking for an event, the event is a parent of the booking and so the cred form lists all Events in the system. As time goes by the list gets longer and longer so it would be nice to add a filter to select only from future events.
In your demo site Bands and Events, whilst the list of bands remain manageable (not too volatile) the events list just grows and grows.
You don’t want to remove the relationship or booking as this is useful in displaying historic information.
2. Select from live bands only
It is easy to add a custom field to bands – status = live or dead. A pity it cannot be used to filter the list of selectable bands.
It would be great to allow a filter to operate on any field in the parent so you could select from (say) live bands in group = rock – filter title is “Book a rock band”!!
Congrats on the Release of the latest version of Types. Did any of the suggestions from this forum make it to the new release?
Oh yes, lots. Let me quickly tell you what we have in store for the upcoming releases:
– Types 1.3 – about 2-3 weeks from now, will include complete support for user fields.
– Types 1.4 – about 2 months from now, will include a brand new GUI that doesn’t just look better but also works a lot nicer.
And, in between, we’ll be adding more fields, like Google Maps and others.
We are also going to redo the interface and logic for many-to-many relationship. It’s in planning phase right now.
And I know that we got even more great suggestions here and they’re on our todo list as well, but without an exact schedule yet.
Thanks for the update – it’s nice to hear how you are using all the great feedback. Looking forward to all those new features.
One more suggestion…
One of the challenges of working with Views is it is not quite responsive as it uses a table format. I’ve been working on getting my results to show using a masonry structure and am having a bit of success. I know that if I had the background it would probably be fairly easy – I have to adjust the code I found to work with Views instead of Feature Images/Excerpts.
Adding a Masonry output to Views would be amazing and create a stunning output that many people are looking for. If Toolset had masonry it would be a reason for me to purchase it all over again 🙂
This is what I’m using as a starting point:
http://www.wplover.com/1818/tutorial-using-jquery-masonry-with-wordpress/
Agreed. In fact, we’re working on adding more built-in layout options to Views, which will be based on Bootstrap features. We’re starting with a responsive grid and responsive list. I know it’s taking us time, but this is because we’re also new to it and we’re learning Bootstrap as we’re going along.
Don’t tell anyone, but we’ve got something even better than Masonry coming to Toolset. As a paying client, you’ll be getting it without additional cost.
Can’t wait for the new layouts! Especially the one “even better than Masonry”, because that would be amazing 😉
Yes, definitely! Any idea when this might be?
Hi, Has there been any development on implementing the Masonry feature that you mentioned in this post? It is one of the few limiting factors I have had to deal with using Toolset. It would be ideal to have that feature!
Thanks for the reminder. Now, I need to look again in my notes because this is for so long ago.
I wish that Types had a “page” condition for the field groups. ACF has the ability to show the field groups on specific pages. ACF actually has a bunch of other criteria in a select box, but specifically I need the “page” ability. I could create a custom page template for my specific page and use the page template as the condition, but it would be easier to use other conditions. Let me know if this is something that’s in your development path and what priority. Thanks!
That’s a good feature to have, but I’m afraid we’re not going to have it in Types in the next release. Types 1.3 will come with user fields support. Then, the following release will include several other major features.
Thanks for the chance to shape whats next.
The ability to build a select list from a query, like all all the titles of posts from certain category
a direct support on maps… localizations of posts pages, using a map as a menu… easier way to make something that geotheme…
just reading the tutorials, so take my suggestios as what it is: an noob’s opinion
I know I’m a little late to the game, but I would absolutely *love* to see some type of JSON output functionality with Types & Views.
For example the ability to set up access a custom post type like so http://example.com/custom-post-type/postname?json that would output a JSON object with the content of that post. I currently use a method similar to this where I list out the Views and translate the markup into JSON so I can manipulate the output easier with JavaScript. It would be amazing if Types/Views would allow for something like that.
That’s a smart thing to do. So, you would need the raw Views output, without all the HTML formatting?
This is pretty major development, so I can’t promise it very soon, but it’s certainly an exciting idea.
Yeah, that’s probably a good way to look at it, getting raw Views output.
If Views would be capable of returning a PHP Stdclass object that could then be converted to JSON relatively easy.
In my current set up I have a really bare PHP file that instantiates WP and then returns the output of the view with render_view(). Then I use PHP Simple HTML DOM to create a new stdClass object based on the view markup. Then a simple json_encode() on that object is printed and sent to the browser.
One idea that just came to mind:
One could create a Layout Style for JSON output that would create a JSON like structure for the Meta HTML. Then a View Template could be used to output content for individual items. Though all the WPV shortcodes would need to be capable of escaping quotes.
In any case, glad this sounds exciting to you!
Hi John,
I just released a plugin that lets you export Views to XML and JSON.
It only works with whole Views right now, but it could easily be adapted to display a single post as XML or JSON using the already built filters.
If you are a developer, you can check it out on GitHub
Or you can download the plugin here:
http://wordpress.org/plugins/views-output-formats/
I wish for two things:
1: The grid layout for views to use div’s not table formatting
2. Taxonomy dropdown in CRED form
Not much to ask?
No, not too much to ask and makes good sense. For DIVs layout in Views, would you know how to implement that yourself? You can click on the ‘Edit meta HTML’ and fully customize the HTML output.
This page explains how the View generates HTML:
https://toolset.com/documentation/user-guides/digging-into-view-outputs/
Does this help?
Hi Amir,
I know how to edit the view HTML, but it’s tricky as I want to be able to put PHP in the view to know that if we’re, say for example, at the third item to start a new row. Essentially a grid view.
I’m not one to go putting tables into my website in 2013.
It would be nice if the Toolset team saw this as progressive enhancement.
Cheers
It would be nice if there was a widget or addition to VIews that could display a dropdown select box of all the custom post type titles. The Views filter works perfectly for custom fields & taxonomy but I needed to add another dropdown of all the posts titles so users can find an entry that way too. I’ve discovered a separate plugin to accomplish this but it would be great if this functionality was built into Views!
Just my 2 cents 🙂
It’d be nice to have a feature where in you don’t have to tweak HTML and CSS for styling views. For a non-technical business user like this would be the cherry on the cake and would make life easier when having to display lists.
thanks,
RK
I agree. It would be a lot nicer to be able to style the output without editing the complex HTML in the loop. We are actually working on a drag-and-drop tool for Views, but it’s still pretty far from release. I’ll write all about it when it’s getting ready.