text:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:ror="http://rorweb.com/0.1/" >
<channel>
  <title>ROR Sitemap for http://permianhomes.com/</title>
  <link>http://permianhomes.com/</link>

<item>
     <link>http://permianhomes.com/</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>0</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/home/</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>1</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/advantages/</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>1</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/financing/</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>1</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/real_estate/</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>1</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/contact_us/</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>1</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/pages/index/1/18/20</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>1</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/pages/index/1/18/27</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>1</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/pages/index/1/18/28</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>1</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/pages/index/1/18/32</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>1</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/</link>
     <title>Permian Homes: New Home Builder Construction | Just another WordPress site</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>1</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/looking-forward-to-2014/</link>
     <title>Looking forward to 2014 | Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>1</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/permian-homes-and-operation-finally-home-welcome-home-the-busby-family/</link>
     <title>Permian Homes and Operation Finally Home Welcome Home the Busby Family! | Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>1</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/homeowners-michael-and-mel/</link>
     <title>Homeowners: Michael and Mel | Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>1</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/Permian_Homes_Insert_FINAL.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/pages/index/1/18/25</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/pages/index/1/18/29</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/pages/index/1/18/30</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/pages/index/1/18/31</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/OldCourseIllustration-24x36.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/OC-Brochure-3-4-14.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/Kyler.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/Tate.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/Cohen.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/Cara.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/Callie.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/Daybreak-Phase-1-Sales-Rendering.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/Permian_Homes_Daybreak_Brochure_FINALweb.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/Permian_Homes_Daybreak_Brochure_FINALweb_4.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/Permian_Homes_Daybreak_Brochure_FINALweb_5.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/Permian_Homes_Daybreak_Brochure_FINALweb_6.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/Permian_Homes_Daybreak_Brochure_FINALweb_7.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/Permian_Homes_Daybreak_Brochure_FINALweb_8.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/Permian_Homes_Daybreak_Brochure_FINALweb_9.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/assets/pdfs/Permian_Homes_Daybreak_Brochure_FINALweb_10.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/financing?price=289,990</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/financing?price=249,990</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/financing?price=232,515</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/financing?price=199,990</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/financing?price=221,740</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/financing?price=221,940</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/financing?price=216,240<p</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/financing?price=242,990</link>
     <title>Permian Homes: New Home Builder Construction in Midland and </title>
     <description>Permian Homes New Custom Home Construction Builder in Odessa and Midland Texas.</description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/about/</link>
     <title>About | Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/permian-homes-in-the-news/</link>
     <title>Permian Homes in the News | Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/author/sunny/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/category/new-homes-in-the-permian-basin/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/category/permian-home-employees/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/category/permian-homes-contractros/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/category/permian-homes-employees/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/home-builder/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/homebuilder/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/midland/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/odessa/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/permian-basin/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/permian-homes/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/country-club/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/custom-homes/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/golf-course/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/hoa/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/homeowner-association/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/single-family-homes/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/townhomes/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/water-well/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/merry-christmas-from-our-family-to-yours/</link>
     <title>Merry Christmas from Our Family to Yours! | Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/category/permian-homes-homeowners/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/exciting-news-about-daybreak-estates/</link>
     <title>Exciting News About Daybreak Estates!  | Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/category/uncategorized/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/operation-finally-home/</link>
     <title>Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/happy-veterans-day/</link>
     <title>Happy Veteran&#8217;s Day! | Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/a-moment-of-gratitude/</link>
     <title>A Moment of Gratitude  | Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/custom-home-owners-chris-and-angelique-vore/</link>
     <title>Custom Home Owners: Chris and Angelique Vore | Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/old-course-estates-breaking-ground-and-ready-to-sell/</link>
     <title>Old Course Estates, Breaking Ground and Ready To Sell! | Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/david-martin-permian-homes-owner-and-vp-of-land-acquisition/</link>
     <title>David Martin: Permian Homes Owner and VP of Land Acquisition  | Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/page/2/</link>
     <title>Permian Homes: New Home Builder Construction | Just another WordPress site | Page 2</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/permian-homes-president-dave-cook/</link>
     <title>Permian Homes President, Dave Cook | Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/looking-forward-to-2014/feed/</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/permian-homes-and-operation-finally-home-welcome-home-the-busby-family/feed/</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/homeowners-michael-and-mel/feed/</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>2</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/permian-homes-in-the-news/feed/</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/author/sunny/page/2/</link>
     <title>Permian Homes: New Home Builder Construction | Page 2</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/beauty-in-the-details-dreams-of-field-owner-and-permian-homes-contractor-brian-field/</link>
     <title>Beauty in the Details: Dreams of Field owner and Permian Homes Contractor Brian Field | Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/home-builder/page/2/</link>
     <title>Permian Homes: New Home Builder Construction | Page 2</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/homebuilder/page/2/</link>
     <title>Permian Homes: New Home Builder Construction | Page 2</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/midland/page/2/</link>
     <title>Permian Homes: New Home Builder Construction | Page 2</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/odessa/page/2/</link>
     <title>Permian Homes: New Home Builder Construction | Page 2</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/permian-basin/page/2/</link>
     <title>Permian Homes: New Home Builder Construction | Page 2</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/tag/permian-homes/page/2/</link>
     <title>Permian Homes: New Home Builder Construction | Page 2</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/merry-christmas-from-our-family-to-yours/feed/</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/exciting-news-about-daybreak-estates/permian-homes-daybreak-brochure/</link>
     <title>Permian Homes Daybreak Brochure | Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/exciting-news-about-daybreak-estates/daybreak-pricing-sheet/</link>
     <title>Daybreak Pricing Sheet | Permian Homes: New Home Builder Construction</title>
     <description>Just another WordPress site </description>
     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/exciting-news-about-daybreak-estates/feed/</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/happy-veterans-day/feed/</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/a-moment-of-gratitude/feed/</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/custom-home-owners-chris-and-angelique-vore/feed/</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/old-course-estates-breaking-ground-and-ready-to-sell/feed/</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/david-martin-permian-homes-owner-and-vp-of-land-acquisition/feed/</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/permian-homes-president-dave-cook/feed/</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>3</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/beauty-in-the-details-dreams-of-field-owner-and-permian-homes-contractor-brian-field/feed/</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>4</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/wp-content/uploads/2013/12/Permian-Homes-Daybreak-Brochure.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>4</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
<item>
     <link>http://permianhomes.com/blog/wp-content/uploads/2013/12/Daybreak-Pricing-Sheet.pdf</link>
     <title></title>

     <ror:updatePeriod>daily</ror:updatePeriod>
     <ror:sortOrder>4</ror:sortOrder>
     <ror:resourceOf>sitemap</ror:resourceOf>
</item>
</channel>
</rss>


text:
package com.sequenceiq.environment.environment.flow.creation.handler;

import static com.sequenceiq.environment.environment.flow.creation.event.EnvCreationHandlerSelectors.CREATE_PUBLICKEY_EVENT;
import static com.sequenceiq.environment.environment.flow.creation.event.EnvCreationStateSelectors.START_ENVIRONMENT_RESOURCE_ENCRYPTION_INITIALIZATION_EVENT;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

import com.sequenceiq.cloudbreak.eventbus.Event;
import com.sequenceiq.cloudbreak.eventbus.EventBus;
import com.sequenceiq.environment.environment.dto.EnvironmentDto;
import com.sequenceiq.environment.environment.flow.creation.event.EnvCreationEvent;
import com.sequenceiq.environment.environment.flow.creation.event.EnvCreationFailureEvent;
import com.sequenceiq.environment.environment.service.EnvironmentResourceService;
import com.sequenceiq.environment.environment.service.EnvironmentService;
import com.sequenceiq.flow.reactor.api.event.EventSender;
import com.sequenceiq.flow.reactor.api.handler.EventSenderAwareHandler;

@Component
public class PublicKeyCreationHandler extends EventSenderAwareHandler<EnvironmentDto> {

    private static final Logger LOGGER = LoggerFactory.getLogger(PublicKeyCreationHandler.class);

    private final EnvironmentService environmentService;

    private final EnvironmentResourceService environmentResourceService;

    private final EventBus eventBus;

    protected PublicKeyCreationHandler(EventSender eventSender, EnvironmentService environmentService, EnvironmentResourceService environmentResourceService,
            EventBus eventBus) {
        super(eventSender);
        this.environmentService = environmentService;
        this.environmentResourceService = environmentResourceService;
        this.eventBus = eventBus;
    }

    @Override
    public String selector() {
        return CREATE_PUBLICKEY_EVENT.selector();
    }

    @Override
    public void accept(Event<EnvironmentDto> environmentDtoEvent) {
        LOGGER.debug("Accepting PublicKeyCreation event");
        EnvironmentDto environmentDto = environmentDtoEvent.getData();
        try {
            environmentService.findEnvironmentById(environmentDto.getId()).ifPresent(environment -> {
                if (environment.getAuthentication().isManagedKey()) {
                    boolean created = environmentResourceService.createAndUpdateSshKey(environment);
                    if (created) {
                        String publicKeyId = environment.getAuthentication().getPublicKeyId();
                        LOGGER.info("Update the environment and it's authentication with the created public SSH key id: '{}'", publicKeyId);
                        environmentService.save(environment);
                    } else {
                        LOGGER.info("The public key id could not be created for {}", environmentDto.getName());
                    }
                } else {
                    LOGGER.debug("Environment {} requested no managed public key", environment.getName());
                }
            });
            EnvCreationEvent envCreationEvent = getEnvCreateEvent(environmentDto);
            eventSender().sendEvent(envCreationEvent, environmentDtoEvent.getHeaders());
        } catch (Exception e) {
            EnvCreationFailureEvent failedEvent =
                    new EnvCreationFailureEvent(environmentDto.getId(), environmentDto.getName(), e, environmentDto.getResourceCrn());
            Event<EnvCreationFailureEvent> ev = new Event<>(environmentDtoEvent.getHeaders(), failedEvent);
            eventBus.notify(failedEvent.selector(), ev);
        }
    }

    private EnvCreationEvent getEnvCreateEvent(EnvironmentDto environmentDto) {
        return EnvCreationEvent.builder()
                .withResourceId(environmentDto.getResourceId())
                .withResourceName(environmentDto.getName())
                .withResourceCrn(environmentDto.getResourceCrn())
                .withSelector(START_ENVIRONMENT_RESOURCE_ENCRYPTION_INITIALIZATION_EVENT.selector())
                .build();
    }
}

redpajama_set_name: RedPajamaGithub


text:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">

  <title>Qt 4.3: httpwindow.h Example File (network/http/httpwindow.h)</title>
  <link href="classic.css" rel="stylesheet" type="text/css" />

  	Home · All Classes · Main Classes · Grouped Classes · Modules · Functions

httpwindow.h Example File
network/http/httpwindow.h

 #ifndef HTTPWINDOW_H
 #define HTTPWINDOW_H

 #include <QDialog>

 class QDialogButtonBox;
 class QFile;
 class QHttp;
 class QHttpResponseHeader;
 class QLabel;
 class QLineEdit;
 class QProgressDialog;
 class QPushButton;
 class QAuthenticator;

 class HttpWindow : public QDialog
 {
     Q_OBJECT

 public:
     HttpWindow(QWidget *parent = 0);

 private slots:
     void downloadFile();
     void cancelDownload();
     void httpRequestFinished(int requestId, bool error);
     void readResponseHeader(const QHttpResponseHeader &responseHeader);
     void updateDataReadProgress(int bytesRead, int totalBytes);
     void enableDownloadButton();
     void slotAuthenticationRequired(const QString &, quint16, QAuthenticator *);

 private:
     QLabel *statusLabel;
     QLabel *urlLabel;
     QLineEdit *urlLineEdit;
     QProgressDialog *progressDialog;
     QPushButton *downloadButton;
     QPushButton *quitButton;
     QDialogButtonBox *buttonBox;

     QHttp *http;
     QFile *file;
     int httpGetId;
     bool httpRequestAborted;
 };

 #endif

<address>

Copyright © 2008 Trolltech
Trademarks

Qt 4.3.5

</address>


text:
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="br.com.edsilfer">

    <application
        android:allowBackup="true"
        android:label="@string/app_name" >

        <provider android:name=".content_provider.RecentSuggestionsProvider"
                  android:authorities="br.com.edsilfer.content_provider.RecentSuggestionsProvider" />

        <provider android:name=".content_provider.CustomSuggestionsProvider"
                  android:authorities="br.com.edsilfer.content_provider.CustomSuggestionsProvider" />

        <activity
        android:name=".ActivityA"
        android:theme="@android:style/Theme.Material.Light.NoActionBar" />

        <activity android:name=".Main"
                  android:launchMode="singleTop">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <action android:name="android.intent.action.SEARCH" />
            </intent-filter>
        </activity>
    </application>
</manifest>


text:
var assert = require("assert");

module.exports = function(request, response){
	var doneSsrCookies;

	function addCookies( doc ) {
	  var cookieDef = (function () {
	    var cookies = {};

	    // Give parsed cookie info to the request object so the ssr response
		// can 'Set-Cookie' as needed
	    doneSsrCookies = cookies;

	    return {
	      get: function () {
	        var cookieUserValue = "";
	        var keys = Object.keys( cookies );
	        var i, key, uh;
	        for ( i = 0, uh = keys.length; i < uh; i++ ) {
	          key = keys[ i ];

	          if ( cookies[ key ].options.expires && cookies[ key ].options.expires < new Date() ) {
	            //expired, don't return it
	            continue;
	          }
	          if ( cookies[ key ].options.httpOnly ) {
	            //is httpOnly, don't return it
	            continue;
	          }

	          cookieUserValue += "; " + cookies[ key ].keyValPair;
	        }
	        return cookieUserValue.replace( /^; /, "" );
	      },
	      set: function ( newValue ) {
	        var cookie = {};
	        cookie.raw = newValue;

	        cookie.keyValPair = newValue.replace( /^([^;]*).*/, "$1" );
	        cookie.propString = newValue.replace( cookie.keyValPair, "" ).replace( /^; ?/, "" );

	        cookie.key = cookie.keyValPair.replace( /^([^=]*).*/, "$1" );
	        cookie.value = cookie.keyValPair.replace( cookie.key, "" ).replace( /^=/, "" );
	        cookie.options = {};

	        cookie.isSSRReqCookie = false;
	        if ( cookie.propString.indexOf( "SSR-Mirror-In-DOM" ) !== -1 ) {
	          cookie.propString = cookie.propString.replace( /(?:; )?SSR-Mirror-In-DOM/, "" );
	          cookie.isSSRReqCookie = true;
	        }

	        var props = cookie.propString.split( "; " );
	        var i, prop, val;
	        for ( i = 0; i < props.length; i++ ) {
	          prop = props[ i ].split( "=" );
	          val = prop[ 1 ] || "";
	          prop = prop[ 0 ].toLowerCase();

	          if ( prop === "domain" ) {
	            cookie.options.domain = val;
	          } else if ( prop === "expires" ) {
	            // val = "Thu, 18 Dec 2013 12:00:00 UTC" or similar
	            cookie.options.expires = new Date( val );
	          } else if ( prop === "httponly" ) {
	            cookie.options.httpOnly = true;
	          } else if ( prop === "secure" ) {
	            cookie.options.secure = true;
	          } else if ( prop === "path" ) {
	            cookie.options.path = val;
	          }
	        }

	        cookies[ cookie.key ] = cookie;

	        return newValue;
	      }
	    };
	  })();
	  Object.defineProperty( doc, "cookie", cookieDef );

	  var cookie = (request.headers && request.headers.cookie) || request["cookie"] || "";
	  var cookiesArr = cookie.length ? cookie.split( "; " ) : [];

	  // Set on the cookies in the document
	  // TODO: this is also passing on HttpOnly cookies so this is technically wrong..
	  // but there is no way to tell which ones are HttpOnly from a request...
	  // SO we need to have a config option that we access right here that'll let us flag them
	  for ( var i = 0; i < cookiesArr.length; i++ ) {
	    // cookieName = cookiesArr[ i ].replace( /([^=]*)=.*/, "$1" );
	    // if someConfig.HttpOnly.indexOf( cookieName ) !== -1
	      //doc.cookie = cookiesArr[ i ] + "; HttpOnly; SSR-Mirror-In-DOM";
	    // else
	      doc.cookie = cookiesArr[ i ] + "; SSR-Mirror-In-DOM";
	  }
	}

	function setCookies(){
		var cookies = doneSsrCookies || {};
		var keys = Object.keys(cookies);
		var i, key, uh;

		for ( i = 0; i < keys.length; i++ ) {
			key = keys[ i ];
			uh = cookies[ key ];
			if ( !uh.isSSRReqCookie ) {
	      //not a cookie that was on the initial request, basically any that are new from ssr, so forward them
				if(response.cookie && !response.headersSent) {
					response.cookie(key, uh.value, uh.options);
				}
			}
		}
	}

	return function(data){
		return {
			created: function(){
				assert(data.document,
					"done-ssr/zones/cookies should come after a DOM is created");

				addCookies(data.document);
			},
			ended: function(){
				setCookies();
			}
		};
	};
}


text:
package edu.cshl.schatz.jnomics.manager.client;

import edu.cshl.schatz.jnomics.manager.client.ann.Flag;
import edu.cshl.schatz.jnomics.manager.client.ann.FunctionDescription;
import edu.cshl.schatz.jnomics.manager.client.ann.Parameter;
import edu.cshl.schatz.jnomics.manager.common.JnomicsApiConfig;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Properties;

/**
 * User: james
 */
public class EntryPoint {

    @FunctionDescription(description = "Use the functions below to interact with the Cluster")
    public static class EntryHandler implements ClientFunctionHandler {

        @Flag(shortForm = "fs", longForm = "filesystem", description = "Commands that interact with the Cluster Filesystem")
        public boolean fs;

        @Flag(shortForm = "compute", longForm = "compute", description = "Commands that launch Compute tasks on the Cluster")
        public boolean compute;

        @Parameter(shortForm = "-user",longForm = "--username", description = "Optionally specify username via commandline")
        public String username;

        @Parameter(shortForm = "-pass", longForm = "--password", description = "Optionally specify password via commandline")
        public String password;

        @Override
        public void handle(List<String> remainingArgs, Properties properties) throws Exception {
            CreatedHandler createdHandler = null;
            if(null != username && null != password){
                String token = GlobusPasswordPrompter.getTokenForUser(username, password);
                properties.setProperty("username",username);
                properties.setProperty("password",password);
                properties.setProperty("token", token);

            }else if(null != System.getenv("KB_AUTH_TOKEN")){
                properties.setProperty("token",System.getenv("KB_AUTH_TOKEN"));
            }

            JnomicsApiConfig.getClientProperties(properties);

            if(fs){
                createdHandler = Utility.handlerFromArgs(remainingArgs,FS.class);
            }else if(compute){
                createdHandler = Utility.handlerFromArgs(remainingArgs, Compute.class);
            }else{
                System.out.println(Utility.helpFromParameters(this.getClass()));
            }

            if(null != createdHandler){
                createdHandler.getHandler().handle(createdHandler.getRemainingArgs(),properties);
            }
        }
    }

    public static void main(String []args) throws Exception {
        List<String> largs = new ArrayList<String>(Arrays.asList(args));
        CreatedHandler createdHandler = Utility.handlerFromArgs(largs,EntryHandler.class);
        createdHandler.getHandler().handle(createdHandler.getRemainingArgs(),new Properties());
    }

}


text:
Form
========

[![Code Climate](https://codeclimate.com/github/adamwathan/form/badges/gpa.svg)](https://codeclimate.com/github/adamwathan/form)
[![Coverage Status](https://coveralls.io/repos/adamwathan/form/badge.svg?branch=master)](https://coveralls.io/r/adamwathan/form?branch=master)

Boring name for a boring package. Builds form HTML with a fluent-ish, hopefully intuitive syntax.

- [Installation](#installation)
- [Basic Usage](#basic-usage)
- [Remembering Old Input](#remembering-old-input)
- [Error Messages](#error-messages)
- [CSRF Protection](#csrf-tokens)
- [Model Binding](#model-binding)

## Installation

You can install this package via Composer by running this command in your terminal in the root of your project:

```bash
composer require adamwathan/form
```

### Laravel

> This package works great as a replacement Form Builder that was removed in Laravel 5. The API is different but all of the features are there.

If you are using Laravel 4 or 5, you can register the FormServiceProvider to automatically gain access to the Old Input and Error Message functionality.

To do so, just update the `providers` array in your `config/app.php`:

```php
'providers' => [
        //...
        'AdamWathan\Form\FormServiceProvider'
    ],
```

You can also choose to use the Facade by adding an alias in `config/app.php`:

```php
'aliases' => [
        //...
        'Form' => 'AdamWathan\Form\Facades\Form',
    ],
```

> Note that in Laravel 4, there is already a Form facade for the built-in Form Builder. If you want to use both, use a different alias. If you'd just like to use this one, remove the Form alias that points to the Illuminate component.

## Basic Usage

- [Getting Started](#getting-started)
- [Opening a Form](#opening-a-form)
- [Text and Password Fields](#text-and-password-fields)
- [Textareas](#textareas)
- [Checkboxes and Radio Buttons](#checkboxes-and-radio-buttons)
- [Selects](#selects)
- [Buttons](#buttons)
- [Hidden Inputs](#hidden-inputs)
- [Labels](#labels)
- [Setting Attributes](#setting-attributes)

### Getting Started
First, instantiate a FormBuilder...

```php
$builder = new AdamWathan\Form\FormBuilder;
```

Next, use the FormBuilder to build an element. For example:
```php
// <input type="text" name="email" value="example@example.com" required="required">
$builder->text('email')->value('example@example.com')->required();
```

- All elements support method chaining, so you can add as many options to an element as you need.
- All elements implement `__toString()` so there is no need to manually render.

### Opening a Form

```php
// <form method="POST">
$builder->open();

// <form method="GET">
$builder->open()->get();

// <form method="POST">
// <input type="hidden" name="_method" value="PUT">
$builder->open()->put();

// <form method="POST">
// <input type="hidden" name="_method" value="DELETE">
$builder->open()->delete();

// <form method="POST" action="/test">
$builder->open()->action('/test');

// <form method="POST" action="" enctype="multipart/form-data">
$builder->open()->multipart()

// <form method="POST" action="" enctype="custom">
$builder->open()->encodingType("custom")
```

### Text and Password Fields

Text and password fields share the same interface.

```php
// <input type="text" name="email">
$builder->text('email');

// <input type="text" name="email" id="email_field">
$builder->text('email')->id('email_field');

// <input type="password" name="password" class="required">
$builder->password('password')->addClass('required');

// <input type="text" name="email" value="example@example.com" required="required">
$builder->text('email')->value('example@example.com')->required();
```

Other available methods:

- `placeholder($string)`
- `optional()`
- `defaultValue($string)`
- `disable()`
- `enable()`

### Textareas

Textareas share the same interface as regular text fields, with a couple of extra useful methods.

```php
// <textarea name="bio" rows="5" cols="50"></textarea>
$builder->textarea('bio')->rows(5);

// <textarea name="bio" rows="10" cols="20"></textarea>
$builder->textarea('bio')->cols(20);

// <textarea name="bio" rows="5" cols="20" class="important">My biography</textarea>
$builder->textarea('bio')->rows(5)->cols(20)->addClass('important')->value('My biography');
```

### Checkboxes and Radio Buttons

```php
// <input type="checkbox" name="terms" value="1">
$builder->checkbox('terms');

// <input type="checkbox" name="terms" value="1" checked="checked">
$builder->checkbox('terms')->check();

// <input type="checkbox" name="terms" value="1">
$builder->checkbox('terms')->uncheck();

// <input type="checkbox" name="terms" value="1" checked="checked">
$builder->checkbox('terms')->defaultToChecked();

// <input type="checkbox" name="terms" value="agree">
$builder->checkbox('terms')->value('agree');

// <input type="radio" name="color" value="red">
$builder->radio('color', 'red');
```

### Selects

```php
// <select name="birth_year"></select>
$builder->select('birth_year');

// <select name="birth_year">
//   <option value="0">1990</option>
//   <option value="1">1991</option>
//   <option value="2">1992</option>
// </select>
$builder->select('birth_year', [1990, 1991, 1992]);

// <select name="birth_year">
//   <option value="1990">1990</option>
//   <option value="1991">1991</option>
//   <option value="1992">1992</option>
// </select>
$builder->select('birth_year', ['1990' => 1990, '1991' => 1991, '1992' => 1992]);

// <select name="birth_year">
//   <optgroup label="Ontario">
//     <option value="toronto">Toronto</option>
//     <option value="ottawa">Ottawa</option>
//   </optgroup>
//   <optgroup label="Quebec">
//     <option value="montreal">Montreal</option>
//     <option value="quebec_city">Quebec City</option>
//   </optgroup>
// </select>
$options = [
	'Ontario' => [
		'toronto' => 'Toronto',
		'ottawa' => 'Ottawa',
	],
	'Quebec' => [
		'montreal' => 'Montreal',
		'quebec_city' => 'Quebec City',
	]
];
$builder->select('birth_year', $options);

// <select name="birth_year">
//   <option value="1">1990</option>
// </select>
$builder->select('birth_year')->addOption('1', 1990);

// <select name="birth_year">
//   <option value="1">1990</option>
//   <option value="2">1991</option>
//   <option value="3" selected>1992</option>
// </select>
$builder->select('birth_year', ['1' => 1990, '2' => 1991, '3' => 1992])->select('3');
```

### Buttons

```php
// <button type="button">Click Me</button>
$builder->button('Click Me');

// <button type="submit">Sign Up</button>
$builder->submit('Sign Up');

// <button type="submit" class="js-submit">Sign Up</button>
$builder->submit('Sign Up')->addClass('js-submit');
```

### Hidden Inputs

```php
// <input type="hidden" name="secret" value="my-secret-value">
$builder->hidden('secret')->value('my-secret-value');
```

### Labels

**Basic Label**
```php
// <label>Email</label>
$builder->label('Email');

// <label for="email">Email</label>
$builder->label('Email')->forId('email');
```

**Wrapping another element**
```php
// <label>Email<input type="text" name="email"></label>
$builder->label('Email')->before($emailElement);

// <label><input type="text" name="email">Email</label>
$builder->label('Email')->after($emailElement);
```

### Setting Attributes

```php
// Attributes can be set with attribute(...)
// <input type="text" name="foobar" min="4">
$builder->text('foobar')->attribute('min', 4);

// Or by calling the attribute name as a method
// <input type="text" name="foobar" min="4">
$builder->text('foobar')->min(4);

// Setting data-* attributes
// <input type="text" data-foo="bar" name="foobar">
$builder->text('foobar')->data('foo', 'bar');
```

## Remembering Old Input

The FormBuilder can remember old input and prepopulate your form fields if you redirect back to the form because of a validation error.

To make this work, you must create a class that implements the `OldInputInterface` and pass it to the FormBuilder:

```php
$builder->setOldInputProvider($myOldInputProvider);
```

Now, your form elements will automatically populate with the user's old input data if it is available.

This works well with the `defaultValue()` methods, allowing you to set a default value that will be overridden by old input if the user has already submitted the form.

> This package ships with a Laravel implementation out of the box, called `IlluminateOldInput`.

## Error Messages

FormBuilder also allows you to easily retrieve error messages for your form elements. To do so, just implement the `ErrorStoreInterface` and pass it to the FormBuilder:

```php
$builder->setErrorStore($myErrorStore);
```

> This package ships with a Laravel implementation out of the box, called `IlluminateErrorStore`.

```php
// Check if the form has an error for an element
$builder->hasError('email');

// Retrieve the error message for an element
$builder->getError('email');
```

You can also supply a `format` parameter to `getError()` to cleanup your markup. Instead of doing this:

```php
<?php if ($builder->hasError('email')): ?>
	<span class="error"><?= $builder->getError('email'); ?></span>
<?php endif; ?>
```

...you can simply do this, which will display the formatted message if it exists, or nothing otherwise.
```php
<?= $builder->getError('email', '<span class="error">:message</span'); ?>
```

## CSRF Protection

Assuming you set a CSRF token when instantiating the Formbuilder (or you are using Laravel), add a CSRF token to your form easily like so:

```php
$builder->token();
```

## Model Binding

Sometimes you might have a form where all of the fields match properties on some sort of object in your system, and you want the user to be able to edit those properties. Model binding makes this really easy by allowing you to bind a model to your form that will be used to automatically provide all of the default values for your fields.

```php
$model->first_name = "John";
$model->last_name = "Doe";
$model->email = "john@example.com";
$model->date_of_birth = new DateTime('1985-05-06');

$builder->open();
$builder->bind($model);
$builder->text('first_name');
$builder->text('last_name');
$builder->email('email');
$builder->date('date_of_birth');
$builder->close();
```

> This will work out of the box with Laravel's Eloquent models.

When using model binding, old input will still take priority over any values on your model, so you can still easily redirect the user back to the form with any validation errors without losing any of the data they entered.

> Note: Be sure to `bind` before creating any other form elements.


text:
module BananaPeels::MailerHelper

  # Do "include BananaPeels::MailerHelper" in an ActionMailer.

  def banana_mail(campaign_id, mail_options, merge_tags, api_key)
    BananaPeels.mail(self, campaign_id, mail_options, merge_tags, api_key)
  end

end


text:
package org.apache.fontbox.ttf;

/**
 * Specifies access to glyph description classes, simple and composite.
 *
 * This class is based on code from Apache Batik a subproject of Apache XMLGraphics.
 * see http://xmlgraphics.apache.org/batik/ for further details.
 *
 */
public interface GlyphDescription
{
    /**
     * Returns the index of the ending point of the given contour.
     *
     * @param i the number of the contour
     * @return the index of the ending point of the given contour
     */
    int getEndPtOfContours(int i);

    /**
     * Returns the flags of the given point. To decode these bit flags, use the static elements of
     * {@link GlyfDescript}. See also "Outline flags" in
     * The
     * 'glyf' table in the TrueType Reference Manual.
     *
     * @param i the given point
     * @return the flags value for the given point
     */
    byte getFlags(int i);

    /**
     * Returns the x coordinate of the given point.
     * @param i the given point
     * @return the x coordinate value for the given point
     */
    short getXCoordinate(int i);

    /**
     * Returns the y coordinate of the given point.
     * @param i the given point
     * @return the y coordinate value for the given point
     */
    short getYCoordinate(int i);

    /**
     * Returns whether this point is a composite or not.
     * @return true if this point is a composite
     */
    boolean isComposite();

    /**
     * Returns the number of points.
     * @return the number of points
     */
    int getPointCount();

    /**
     * Returns the number of contours.
     * @return the number of contours
     */
    int getContourCount();

    /**
     * Resolve all parts of an composite glyph.
     */
    void resolve();
}


text:
package org.apache.syncope.client.cli.commands.notification;

import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.apache.syncope.client.cli.Command;
import org.apache.syncope.client.cli.Input;
import org.apache.syncope.client.cli.commands.AbstractCommand;

@Command(name = "notification")
public class NotificationCommand extends AbstractCommand {

    private final NotificationResultManager notificationResultManager = new NotificationResultManager();

    @Override
    public void execute(final Input input) {
        if (StringUtils.isBlank(input.getOption())) {
            input.setOption(Options.HELP.getOptionName());
        }

        switch (Options.fromName(input.getOption())) {
            case LIST:
                new NotificationList(input).list();
                break;
            case READ:
                new NotificationRead(input).read();
                break;
            case DELETE:
                new NotificationDelete(input).delete();
                break;
            case HELP:
                System.out.println(getHelpMessage());
                break;
            default:
                notificationResultManager.deletedMessage(input.getOption(), getHelpMessage());
        }
    }

    @Override
    public String getHelpMessage() {
        return notificationResultManager.commandHelpMessage(getClass());
    }

    private enum Options {

        HELP("--help"),
        LIST("--list"),
        READ("--read"),
        DELETE("--delete");

        private final String optionName;

        Options(final String optionName) {
            this.optionName = optionName;
        }

        public String getOptionName() {
            return optionName;
        }

        public boolean equalsOptionName(final String otherName) {
            return (otherName == null) ? false : optionName.equals(otherName);
        }

        public static Options fromName(final String name) {
            Options optionToReturn = HELP;
            for (final Options option : Options.values()) {
                if (option.equalsOptionName(name)) {
                    optionToReturn = option;
                }
            }
            return optionToReturn;
        }

        public static List<String> toList() {
            final List<String> options = new ArrayList<>();
            for (final Options value : values()) {
                options.add(value.getOptionName());
            }
            return options;
        }
    }
}


text: json-server --watch db.json --routes routes.json


text:
mkdir build || exit $?
cd build || exit $?

# Run configuration
cmake -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} .. || exit $?

# Build
cmake --build . || exit $?

# Test
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
  ctest --output-on-failure || exit $?
else
  # TODO: Run tests for Linux on Travis CI once we can figure out how to talk to
  # gnome-keyring-daemon.  node-keytar hasn't figured it out either.  I think
  # that the daemon needs to be run before login to be able to unlock our login
  # keychain, but I don't see how that's possible with Travis CI.  For now, we
  # can at least check that things compile correctly.
  echo "Skipping tests until gnome-keyring-daemon works on Travis CI"
fi

# All done
cd .. || exit $?


text:
// Copyright (c) to owners found in https://github.com/AArnott/pinvoke/blob/master/COPYRIGHT.md. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.

namespace PInvoke
{
    /// <content>
    /// Contains the <see cref="NCryptSetPropertyFlags"/> nested type.
    /// </content>
    public static partial class NCrypt
    {
        /// <summary>
        /// Flags that may be supplied to the <see cref="NCryptSetProperty(System.Runtime.InteropServices.SafeHandle, string, byte*, int, NCryptSetPropertyFlags)"/> function.
        /// </summary>
        public enum NCryptSetPropertyFlags
        {
            /// <summary>
            /// No flags.
            /// </summary>
            None = 0x0,

            /// <summary>
            /// Ignore any built in values for this property and only retrieve the user-persisted properties of the key. The maximum size of the data for any persisted property is NCRYPT_MAX_PROPERTY_DATA bytes.
            /// </summary>
            NCRYPT_PERSIST_ONLY_FLAG = 0x40000000,

            /// <summary>
            /// Requests that the key service provider (KSP) not display any user interface. If the provider must display the UI to operate, the call fails and the KSP should set the NTE_SILENT_CONTEXT error code as the last error.
            /// </summary>
            NCRYPT_SILENT_FLAG = 0x00000040,

            /// <summary>
            /// Retrieve the security identifier (SID) of the object's owner. Use the GetSecurityDescriptorOwner function to obtain the owner SID from the SECURITY_DESCRIPTOR structure.
            /// </summary>
            OWNER_SECURITY_INFORMATION = 0x00000001,

            /// <summary>
            /// Retrieve the SID of the object's primary group. Use the GetSecurityDescriptorGroup function to obtain the group SID from the SECURITY_DESCRIPTOR structure.
            /// </summary>
            GROUP_SECURITY_INFORMATION = 0x00000002,

            /// <summary>
            /// Retrieve the discretionary access control list (DACL). Use the GetSecurityDescriptorSacl function to obtain the DACL from the SECURITY_DESCRIPTOR structure.
            /// </summary>
            DACL_SECURITY_INFORMATION = 0x00000004,

            /// <summary>
            /// Retrieve the system access control list (SACL). Use the GetSecurityDescriptorDacl function to obtain the SACL from the SECURITY_DESCRIPTOR structure.
            /// </summary>
            SACL_SECURITY_INFORMATION = 0x00000008,

            /// <summary>
            /// Set the mandatory label access control entry in the SACL of the object. Use the SetSecurityDescriptorDacl function to set the SACL in the SECURITY_DESCRIPTOR structure. For more information about the mandatory label access control entry, see Windows Integrity Mechanism Design.
            /// </summary>
            LABEL_SECURITY_INFORMATION = 0x00000010,
        }
    }
}


text:
package components;

import javax.swing.*;
import java.awt.*;
import java.util.ArrayList;

public class TitanToolBar extends JToolBar {
    private NewDSMButton newDSMButton;
    private OpenDSMButton openDSMButton;
    private RedrawButton redrawButton;
    private NewClusterButton newClusterButton;
    private OpenClusterButton openClusterButton;
    private SaveClusterButton saveClusterButton;
    private SaveAsClusterButton saveAsClusterButton;

    private ArrayList<Component> components;

    public TitanToolBar() {
        super();

        // Init fields
        newDSMButton = new NewDSMButton();
        openDSMButton = new OpenDSMButton();
        redrawButton = new RedrawButton();
        newClusterButton = new NewClusterButton();
        openClusterButton = new OpenClusterButton();
        saveClusterButton = new SaveClusterButton();
        saveAsClusterButton = new SaveAsClusterButton();

        components = new ArrayList<>();
        components.add(newDSMButton);
        components.add(openDSMButton);
        components.add(redrawButton);
        components.add(newClusterButton);
        components.add(openClusterButton);
        components.add(saveClusterButton);
        components.add(saveAsClusterButton);

        // Add components
        add(newDSMButton);
        add(openDSMButton);
        addSeparator();
        add(newClusterButton);
        add(openClusterButton);
        add(saveClusterButton);
        add(saveAsClusterButton);
        addSeparator();
        add(redrawButton);
    }

    public NewDSMButton getNewDSMButton() {
        return newDSMButton;
    }

    public OpenDSMButton getOpenDSMButton() {
        return openDSMButton;
    }

    public RedrawButton getRedrawButton() {
        return redrawButton;
    }

    public NewClusterButton getNewClusterButton() {
        return newClusterButton;
    }

    public OpenClusterButton getOpenClusterButton() {
        return openClusterButton;
    }

    public SaveClusterButton getSaveClusterButton() {
        return saveClusterButton;
    }

    public SaveAsClusterButton getSaveAsClusterButton() {
        return saveAsClusterButton;
    }

    public void setEnabledAll(boolean enabled) {
        for (Component component : components) {
            component.setEnabled(enabled);
        }
    }

    public class NewDSMButton extends JButton {
        public NewDSMButton() {
            super();
            setIcon(new ImageIcon(getClass().getResource("/resource/export.png")));
            setToolTipText("New DSM");
        }
    }

    public class OpenDSMButton extends JButton {
        public OpenDSMButton() {
            super();
            setIcon(new ImageIcon(getClass().getResource("/resource/open-dsm.png")));
            setToolTipText("Open DSM");

        }
    }

    public class RedrawButton extends JButton {
        public RedrawButton() {
            super();
            setIcon(new ImageIcon(getClass().getResource("/resource/redraw.png")));
            setToolTipText("Redraw");

        }
    }

    public class NewClusterButton extends JButton {
        public NewClusterButton() {
            super();
            setIcon(new ImageIcon(getClass().getResource("/resource/new-clsx.png")));
            setToolTipText("New Clustering");
        }
    }

    public class OpenClusterButton extends JButton {
        public OpenClusterButton() {
            super();
            setIcon(new ImageIcon(getClass().getResource("/resource/open-clsx.png")));
            setToolTipText("Open Clustering");
        }
    }

    public class SaveClusterButton extends JButton {
        public SaveClusterButton() {
            super();
            setIcon(new ImageIcon(getClass().getResource("/resource/save-clsx.png")));
            setToolTipText("Save Clustering");
        }
    }

    public class SaveAsClusterButton extends JButton {
        public SaveAsClusterButton() {
            super();
            setIcon(new ImageIcon(getClass().getResource("/resource/save-clsx-as.png")));
            setToolTipText("Save Clustering As");
        }
    }
}


text:
<?php

/**
 * This file is part of the Sonata RESTful PHP framework
 * (c) 2009-2010 Pascal Cremer <b00giZm@gmail.com>
 *
 * @author Pascal Cremer <b00giZm@gmail.com>
 *
 * Sonata_Exception_Template
 *
 * @package framework.exception
 **/
class Sonata_Exception_Template extends Sonata_Exception
{

}


text:
<!--
@license
Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
<script>
(function() {
  'use strict';

  var himport = function(href) {
    var link = document.createElement('link');
    link.rel = 'import';
    link.href = href;
    link.setAttribute('async', 'async');
    document.body.appendChild(link);
  };

  // TODO(sjmiles): we want a type of import that doesn't block
  // first paint, and `async` doesn't seem to do it, so we
  // have this junk to delay at least one paint -- we should do
  // away with this element completely at the earliest possible
  // moment.

  var deferred = [];
  var _himport = himport;
  himport = function(url) {
    deferred.push(url);
  };

  var _processDeferred = function() {
    deferred.forEach(himport = _himport);
  };

  window.requestAnimationFrame(function() {
    window.setTimeout(function() {
      deferred.forEach(himport = _himport);
      deferred = null;
    }, 0);
  });

  document.registerElement('async-import', {
    prototype: {
      __proto__: HTMLElement.prototype,
      createdCallback: function() {
        himport(this.getAttribute('href'));
      }
    }
  });

})();
</script>


text:
layout: post
date: 2018-03-16
title: "Nicole Spose Colet of MODEL COAB16283 2016 Sleeveless Chapel Train Aline/Princess"
category: Nicole Spose
tags: [Nicole Spose,Aline/Princess ,Sweetheart,Chapel Train,Sleeveless,2016]
---
### Nicole Spose Colet of MODEL COAB16283
Just **$349.99**
### 2016  Sleeveless Chapel Train Aline/Princess

BRANDS	Nicole Spose

Silhouette	Aline/Princess

Neckline	Sweetheart

Hemline/Train	Chapel Train

Sleeve	Sleeveless

Years	2016

Buy it: [https://www.readybrides.com/en/nicole-spose/3846-nicole-spose-coab16283.html](https://www.readybrides.com/en/nicole-spose/3846-nicole-spose-coab16283.html)


text:
test 'Tags'

@model = Model.new

is @model.attributes, Hash
size = @model.attributes.size

is @model.attributes(:badge).size, :lt => size

s = @model.attributes.size
j = @model.to_json

is j, String
is JSON.parse(j).size, s


text:
[TOC]

## Rationale

Linalg is designed to solve the High-level Hierarchical Optimization
(HHO box) in MLIR and to interoperate nicely within a
*Mixture Of Expert Compilers* environment (i.e. the *CGSel* box).

The [Rationale Document](../Rationale/RationaleLinalgDialect.md)
goes into significantly more design and architectural decision details.

## Set of Key Transformations

The following key transformations have been central to driving the design of
Linalg. They are all implemented in terms of the properties of the
`linalg.generic` OpInterface and avoid the pitfall of relying on hardcoded
one-off op knowledge.

The textual form description of these transformations is left for future
work. Still, it is useful to at least the key transformations that are
performed on the Linalg IR and that have influenced its design:
1. Progressive Buffer Allocation.
1. Parametric Tiling.
1. Promotion to Temporary Buffer in Fast Memory.
1. Tiled Producer-Consumer Fusion with Parametric Tile-And-Fuse.
1. Map to Parallel and Reduction Loops and Hardware.
1. Vectorization: Rewrite in Vector Form.
1. Lower to Loops (Affine, Generic, and Parallel).
1. Lower to Library Calls or Special Instructions, Intrinsics or ISA.
1. Partially Lower to Iterations Over a Finer-Grained Linalg Op.

## High-Level Description of Linalg Ops
Linalg takes at least some inspiration from all previously [listed prior
art](#prior_art). The design enables the definition of ***CustomOps*** with
generic properties that enable [key transformations](#key_transformations),
including lowering to scalar load/store and other operations or to external
library calls and intrinsics.

These ops can have ***either tensor or buffer operands***.

### Payload-Carrying Ops
Linalg defines two payload carrying operations that implement the [structured ops](
https://docs.google.com/presentation/d/1P-j1GrH6Q5gLBjao0afQ-GfvcAeF-QU4GXXeSy0eJ9I/edit#slide=id.p
) abstraction on tensors and buffers. This is architected as two generic operations
`linalg.generic` (resp. `linalg.indexed_generic`) that can express custom
operations with *index-free semantics* (resp. *indexing semantics*).
The properties of these generic ops are the result of applying the
guiding principles described in the [Rationale Document](../Rationale/RationaleLinalgDialect.md).
They are listed next, with a brief example and discussion for each.

#### Property 1: Input and Output Operands Define The Iteration Space
A `linalg.generic` op fully *derives* the specification of its iteration space
from its operands.
The property enforces that a localized IR element (the op) *has* all the information
needed to synthesize the control-flow required to iterate over its operands,
according to their type. This notion of IR localization bears some resemblance
to [URUK](http://icps.u-strasbg.fr/~bastoul/research/papers/GVBCPST06-IJPP.pdf).

Consider the following, partially specified, `linalg.generic` example:
```
#attrs = {args_in: 1, args_out: 1}
func @example(%A: memref<?xf32, layout1>,
              %B: memref<?xvector<4xf32, layout2>>) {
  linalg.generic #attrs (%2, %3): memref<?xf32, layout1>,
                                  memref<?xvector<4xf32, layout2>>
  return
}
```

The property "*Input and Output Operands Define The Iteration Space*" is
materialized by a lowering into a form that will resemble:
```
func @example(%A: memref<?xf32, layout1>,
              %B: memref<?xvector<4xf32, layout2>>) {
  %M = "dim" %A, 0: index
  %N = "dim" %B, 0: index
  %eq = eq %M, %N: i1   // iteration space is consistent with data
  assert(%eq): (i1) -> ()
  for %i = 0 to %M {
    %a = load %A[%i]: memref<?xf32, layout1>
    %b = load %B[%i]: memref<?xvector<4xf32>, layout2>
    // compute arg types match elemental tensor types
    %c = "some_compute"(%a, %b): (f32, vector<4xf32>) -> (vector<4xf32>)
    store %c, %B[%i]: memref<?xvector<4xf32>, layout2>
  }
  return
}
```

The property participates in simplifying analyses and transformations. For
instance, it guarantees no out-of bounds access can occur by construction
(assuming dynamic operand dimensions agree with each other, which is the
purpose of the `assert` runtime check).

Before lowering to loop form, loop induction variables and iterators are *not yet
materialized*. This is a necessary property if we want an abstraction that
works on both tensor values and buffers because ***values don't escape
loops/nesting***.

The main implications are that:
1. The semantics of the ops are *restricted to operate on structured data
types*, on which we can define an iterator.
2. This does not model arbitrary code with side-effects.

We do not think these are serious limitations in practice because MLIR is all
about mixing different levels of abstractions in the same IR. As long as
Linalg can progressively lower to the next level of abstraction, it can also
be just bypassed for things that do not fit.

At the same time, conditioning op semantics on structured data types is a very
promising path towards extensibility to non-dense tensors as experience with
LIFT abstractions for
[sparse](https://www.lift-project.org/publications/2016/harries16sparse.pdf)
and [position-dependent
arrays](https://www.lift-project.org/publications/2019/pizzuti19positiondependentarrays.pdf),
as well as [TACO](http://tensor-compiler.org/), has shown.

#### Property 2: Reversible Mappings Between Control and Data Structures
A `linalg.generic` *defines* the mapping between the iteration space (i.e. the
loops) and the data.

Consider the following, partially specified, `linalg.generic` example:
```
#indexing_maps = {
  (i, j) -> (j, i),
  (i, j) -> (j)
}
#attrs = {args_in: 1, args_out: 1, indexings: indexing_maps}
func @example(%A: memref<?xf32, layout1>,
              %B: memref<?xvector<4xf32, layout2>>) {
  linalg.generic #attrs (%A, %B): memref<?xf32, layout1>,
                                  memref<?xvector<4xf32, layout2>>
  return
}
```

The property "*Reversible Mappings Between Control and Data Structures*" is
materialized by a lowering into a form that will resemble:
```
#attrs = {args_in: 1, args_out: 1, indexings: indexing_maps}
func @example(%A: memref<?xf32, layout1>,
              %B: memref<?xvector<4xf32, layout2>>) {
  // loop bounds determined from data sizes by "inverting the map"
  %J = "dim" %2, 0: index
  %I = "dim" %2, 1: index
  %J2 = "dim" %3, 0: index
  // iteration space is consistent with data + mapping inference
  %eq = "eq" %J, %J2: i1
  "assert" %eq: (i1) -> ()
  for %i = 0 to %I {           // loop order is fully defined by indexing maps
    for %j = 0 to %J {         // arbitrary permutations are possible
      %a = "load" %2, %j, %i: memref<8x?xf32>
      %b = "load" %3, %j: memref<?xvector<4xf32>>
      %c = "some_compute"(%a, %b): (f32, vector<4xf32>) -> (vector<4xf32>)
      "store" %c, %3, %j: memref<?xvector<4xf32>>
    }
  }
  return
}
```

This mapping needs to be reversible because we want to be
able to go back and forth between the two and answer questions such as:
- Given a subset of the iteration space, what subset of data does it read and
write?
- Given a subset of data read or written, what subset of the iteration space
is responsible for this read or write?

Answering these `2` questions is one of the main analyses that Linalg uses to
implement transformations such as tiling, tiled producer-consumer fusion, and
promotion to temporary buffers in fast memory.

In the current implementation, `linalg.generic` uses a list of [AffineMaps]().
This is a pragmatic short-term solution, but in the longer term note that
this property could be even evaluated dynamically, similarly to
inspector-executor algorithms.

#### Property 3: The Type Of Iterators is Defined Explicitly
A `linalg.generic` op fully *declares* the type of its iterators. This
information is used in transformations.

These properties are derived from established practice in the field and mirror
the properties from Ken Kennedy's [Optimizing Compilers for Modern Architectures](
https://www.elsevier.com/books/optimizing-compilers-for-modern-architectures/allen/978-0-08-051324-9).
The key idea of legality of loop transformations expressed by Kennedy is
that ***the lexicographic order of all dependence vectors must be
preserved***.

This can be better captured directly at the loop level thanks to specific
iterator types, among which:
*parallel*, *reduction*, *partition*, *permutable/monotonic*, *sequential*,
*dependence distance*, ...

These types are traditionally the result of complex dependence analyses and
have been referred to as "*bands*" in the polyhedral community (e.g. *parallel
bands*, *permutable bands*, etc, in
[ISL](https://en.wikipedia.org/wiki/Integer_set_library) schedule tree
parlance).

Specifying the information declaratively in a `linalg.generic` allows
conveying properties that may be hard (or even impossible) to derive from
lower-level information. These properties can be brought all the way to the
moment when they are useful for transformations, used and then discarded.

Additionally, these properties may also be viewed as a contract that the
frontend/user guarantees and that the compiler may take advantage of. The
common example is the use of data-dependent reduction semantics for
specifying histogram computations. If the frontend has additional knowledge
that proper atomic operations are available, it may be better to specify
parallel semantics and use the special atomic in the computation region.

At this time, Linalg only has an explicit use for *parallel* and *reduction*
loops but previous experience shows that the abstraction generalizes.

#### Property 4: The Compute Payload is Specified With a Region
A `linalg.generic` op has a compute payload that is fully generic thanks to
the use of
[Regions](https://github.com/llvm/llvm-project/blob/58265ad42a90ae8905be6a447cb42e53529a54a0/mlir/docs/LangRef.md#regions).

The region takes as arguments the scalar elemental types of the tensor or
buffer operands of the `linalg.generic`. For flexibility and ability to match
library calls, additional special values may be passed. For instance, a
`linalg.fill` operation takes a buffer and an additional scalar value.

At this time there are no additional restrictions to the region
semantics. This is meant to allow the exploration of various design tradeoffs
at the intersection of regions and iterator types.
In particular, the frontend is responsible for the semantics of iterator types
to correspond to the operations inside the region: the region can capture
buffers arbitrarily and write into them. If this conflicts with some parallel
iterator requirement, this is undefined behavior.

Concretely, consider the following, partially specified, `linalg.generic`
example:
```
#indexing_maps = {
  (i, j) -> (i, j),
  (i, j) -> (i, j)
}
#attrs = {args_in: 2, args_out: 1, indexings: #indexing_maps}
func @example(%A: memref<?x?xf32>, %B: memref<?x?xf32>, %C: memref<?x?xf32>) {
  linalg.generic #attrs (%A, %B, %C) {
    ^bb0(%a: f32, %b: f32):
      %c = addf %a, %b : f32
      return %c : f32
  }: memref<?x?xf32>, memref<?x?xf32>, memref<?x?xf32>
  return
}
```

The property "*The Compute Payload is Specified With a Region*" is
materialized by a lowering into a form that will resemble:
```
func @example(%A: memref<?x?xf32>, %B: memref<?x?xf32>, %C: memref<?x?xf32>) {
  %M = dim %A, 0: index
  %N = dim %B, 1: index
  for %i = 0 to %M {
    for %j = 0 to %N {
      %a = load %A[%i, %j]: memref<?x?xf32>
      %b = load %B[%i, %j]: memref<?x?xf32>>
      %c = addf %a, %b : f32
      store %c, %C[%i, %j]: memref<?x?xf32>
    }
  }
  return
}
```

In the process of lowering to loops and lower-level constructs, similar
requirements are encountered, as are discussed in the [inlined call op
proposal](https://llvm.discourse.group/t/introduce-std-inlined-call-op-proposal/282/2).
We expect to be able to reuse the common lower-level infrastructure provided
it evolves to support both region arguments and captures.

#### Property 5: May Map To an External Library Call
A `linalg.generic` op may map to an external library call by specifying a
`SymbolAttr`. At this level of abstraction, the important glue is the ability
to perform transformations that preserve the structure necessary to ***call
the external library after different transformations have been applied***.

This involves considerations related to preservation of op semantics
and integration at the ABI level. Regardless of whether one wants to use
external library calls or a custom ISA, the problem for codegen is similar:
preservation of a fixed granularity.

Consider the following, partially specified, `linalg.generic`
example:
```
#fun_attr = "pointwise_add"
#indexing_maps = {
  (i, j) -> (i, j),
  (i, j) -> (i, j)
}
#attrs = {args_in: 2, args_out: 1, indexings: #indexing_maps, fun: #fun_attr}
func @example(%A: memref<?x?xf32>, %B: memref<?x?xf32>, %C: memref<?x?xf32>) {
  linalg.generic #attrs (%A, %B, %C) {
    ^bb0(%a: f32, %b: f32):
      %c = addf %a, %b : f32
      return %c : f32
  }: memref<?x?xf32>, memref<?x?xf32>, memref<?x?xf32>
  return
}
```

The property "*Map To an External Library Call*" is
materialized by a lowering into a form that will resemble:

```
func @pointwise_add_sxsxf32_sxsxf32(memref<?x?xf32>, memref<?x?xf32>, memref<?x?xf32>) -> ()

func @example(%A: memref<?x?xf32>, %B: memref<?x?xf32>, %C: memref<?x?xf32>) {
  call @pointwise_add_sxsxf32_sxsxf32 (%A, %B, %C):
    (memref<?x?xf32>, memref<?x?xf32>, memref<?x?xf32>) -> ()
  return
}
```

Which, after lowering to LLVM resembles:
```
func @pointwise_add_sxsxf32_sxsxf32(!llvm<"{ float*, i64, [2 x i64], [3 x i64] }*">,
                                    !llvm<"{ float*, i64, [2 x i64], [3 x i64] }*">,
                                    !llvm<"{ float*, i64, [2 x i64], [3 x i64] }*">) -> ()

func @example(%A: !llvm<"{ float*, i64, [2 x i64], [3 x i64] }*">,
              %B: !llvm<"{ float*, i64, [2 x i64], [3 x i64] }*">,
              %C: !llvm<"{ float*, i64, [2 x i64], [3 x i64] }*">) {
  llvm.call @pointwise_add_sxsxf32_sxsxf32 (%A, %B, %C):
    (!llvm<"{ float*, i64, [2 x i64], [3 x i64] }*">...) -> ()
  return
}
```

##### Convention For External Library Interoperability
The `linalg` dialect adopts a convention that is similar to `BLAS` when
offloading operations to fast library implementations: pass a non-owning
pointer to input and output data with additional metadata. This convention
is also found in libraries such as `MKL`, `OpenBLAS`, `BLIS`, `cuBLAS`,
`cuDNN`, etc.. and more generally at interface points across language
boundaries (e.g. C++ / Python).

Generally, `linalg` passes non-owning pointers to View data structures
to pre-compiled library calls linked externally.

There is an [ongoing
discussion](https://llvm.discourse.group/t/lowering-optional-attributes-in-linalg-structuredops-to-standard-dialect/333/3)
on the topic of extending interoperability in the presence of key attributes.

#### Property 6: Perfectly Nested Writes To The Whole Output Operands
Perfectly nested loops form a particularly important class of structure that
enables key loop transformations such as tiling and mapping to library calls.
Unfortunately, this type of structure is easily broken by transformations such
as partial loop fusion. Tiling and mapping to library calls become more
challenging, or even infeasible. Linalg ops adopt perfect-nestedness
as a first-class property: the structure cannot be broken and is
transported in the IR by construction.

A `linalg.generic` op represents a perfectly nested loop nest that writes the
entire memory region.  This is a structural constraint across regions and
loops that has proven to be key in simplifying transformations.

One particular point to mention is that converting imperfectly nested code
into perfectly nested code can often be done with enough loop distribution
and embedding of conditionals down to the innermost loop level.

Previous experience with Tensor Comprehensions gave us the intuition that
forcing innermost control-flow nesting is a lot like writing data-parallel
code with arrays of boolean values and predication.
This type of trick has also been used before in polyhedral compilers to
convert non-affine control into affine compute dependencies.

While it may be possible to automate such rewrites from generic IR,
`linalg.generic` just forces the semantics for now.

The key implication is that this conversion to deep predication needs to be
undone once we are done with Linalg transformations.
After iterators and induction variables are materialized (i.e. after lowering
out of `linalg.generic` occurred), the overall performance will be greatly
influenced by the quality of canonicalizations, foldings and *Loop Independent
Code Motion* (LICM).

In the grander scheme, the reliance on late LICM was deemed a necessary risk.

#### Putting it Together
As it stands, the six properties above define the semantics of a
`linalg.generic` op. It is an open question whether all of these semantics are
strictly necessary in practice and whether some should or could be derived
automatically while still maintaining the [core guiding
principles](#guiding_principles).

For the time being, we have settled on the combination of these properties
because of empirical evidence building and working on multiple high-level
compilers. As we lay those down and engage more with the community, we expect
multiple rounds of discussions and design changes to the original architecture.

### Data Representation: Views
The current implementation uses the [Strided MemRef (a.k.a View)](
https://groups.google.com/a/tensorflow.org/forum/#!topic/mlir/MaL8m2nXuio)
abstraction. The name *View* is used interchangeably in `linalg` to signify
*Strided MemRef*.
In the future we expect to use other structured data types and
support ragged, mixed-sparse and other types. We expect to draw on the
experience from existing LIFT abstractions for
[sparse](https://www.lift-project.org/publications/2016/harries16sparse.pdf)
and [position-dependent
arrays](https://www.lift-project.org/publications/2019/pizzuti19positiondependentarrays.pdf).

### Metadata Ops
A set of ops that manipulate metadata but do not move memory. These ops take
`view` operands + extra attributes and return new `view`s. The returned
`view`s generally alias the operand `view`. At the moment the existing ops
are:

    * `std.view`,
    * `std.subview`,
    * `linalg.range`,
    * `linalg.slice`,
    * `linalg.transpose`.
    * `linalg.reshape`,

Future ops are added on a per-need basis but should include:

    * `linalg.tile`,
    * `linalg.intersection`,
    * `linalg.convex_union`,
    * `linalg.difference` (would need to work on a list of views).

These additional operations correspond to abstractions that have been known to
work in the field of large-scale distributed stencil computations.

In a longer-term future, the abstractions from [Legion data-centric
programming model](https://legion.stanford.edu/overview/) seem generally
appealing.

### Named Payload-Carrying Ops
Additionally, `linalg` provides a small subset of commonly named operations:

    * `linalg.copy`,
    * `linalg.fill`,
    * `linalg.dot`,
    * `linalg.matmul`,
    * `linalg.conv`.

These named operations adhere to the `linalg.generic` op interface. Work is in
progress to define declarative mechanisms to automatically generate named ops
from a description in terms of only the generic op interface.

This is the main reason there are only a small number of ops today: we expect
them to be auto-generated from Tablegen soon.

### Named Payload Ops Specification

Linalg provides a declarative specification and a generation tool
(`mlir-linalg-ods-gen`) to automatically produce named ops from a notation that
is inspired by Einstein notation.

The syntax and semantics used in `mlir-linalg-ods-gen` are very much in flight
and borrow from Tensor Comprehensions (TC) but differ in a few dimensions, to
better adapt to Linalg:

1.  The input and output tensor parameters are specified as `id :
    type(symbolic-affine-expression-list)` (e.g. `A : f32(M, N + M)`) and each
    new symbol is discovered eagerly. TC on the other hand does not allow
    general symbolic affine expressions.
1.  The output shapes are specified explicitly, in TC they are always derived
    from the input shapes.
1.  The operations used to specify computations use EDSC intrinsics so that they
    can easily be parsed and emitted into a simple region builder without
    resorting to more general MLIR parsing.
1.  Reduction dimensions are specified with angle bracket notation on the
    operation they apply to (e.g. `std_add<k>` specifies that `k` is a reduction
    dimension). In TC, a reduction is specified with `op=` operator and the
    reduction dimensions are inferred.
1.  The parallel and reduction dimension are ordered by the textual program
    order. For instance, in the comprehension `O(i, j) = std_add<k, l>(...)`,
    `i` (resp. `j`) is a parallel iterator encoded by affine dimension of
    position `0` (resp. `1`); `k` (resp. `l`) is a reduction iterator encoded by
    an affine dimension of position `2` (resp. `3`).

These decisions and syntax are subject to evolution and change. In particular,
op-specific attributes, dynamic ranks, some form of templating, shape
calculation function specification, etc. may be added in the future.

At this time, the following restrictions are imposed on the syntax and
semantics:

1.  Each def may only contain a single comprehension but each comprehension may
    perform multiple updates.
2.  Each tensor may only be used with a single indexing expression.

The following specification may be used to define a named `batchmatmul` op:

```
def batchmatmul(A: f32(Batch, M, K), B: f32(K, N)) -> (C: f32(Batch, M, N)) {
  C(b, m, n) = std_addf<k>(std_mulf(A(b, m, k), B(k, n)));
}
```

When `mlir-linalg-ods-gen -gen-ods-decl=1` is called, the following ODS is
produced:

```
  def batchmatmulOp : LinalgNamedStructured_Op<"batchmatmul", [
    NInputs<2>,
    NOutputs<1>,
    NamedStructuredOpTraits]> { ... }
```

When `mlir-linalg-ods-gen -gen-impl=1` is called, the following C++ is produced:

```
llvm::Optional<SmallVector<StringRef, 8>> batchmatmul::referenceIterators() {
  return SmallVector<StringRef, 8>{
    getParallelIteratorTypeName(),
    getParallelIteratorTypeName(),
    getParallelIteratorTypeName(),
    getReductionIteratorTypeName() };
}
llvm::Optional<SmallVector<AffineMap, 8>> batchmatmul::referenceIndexingMaps() {
  MLIRContext *context = getContext();
  AffineExpr d0, d1, d2, d3;
  bindDims(context, d0, d1, d2, d3);
  return SmallVector<AffineMap, 8>{
      AffineMap::get(4, 0, {d0, d1, d3}),
      AffineMap::get(4, 0, {d3, d2}),
      AffineMap::get(4, 0, {d0, d1, d2}) };
}
void batchmatmul::regionBuilder(ArrayRef<BlockArgument> args) {
  using namespace edsc;
  using namespace intrinsics;
  Value _0(args[0]), _1(args[1]), _2(args[2]);
  Value _4 = std_mulf(_0, _1);
  Value _5 = std_addf(_2, _4);
  (linalg_yield(ValueRange{ _5 }));
}
```

## Open Issues and Design Alternatives
Multiple open issues and design alternatives are in flight and it is time to
lay them out for the community to discuss and pick apart:
1. Should `linalg.generic` support nesting?
1. Should `linalg.generic` regions take views or only scalars?
1. Should we try to solve automatic differentiation at this level of
abstraction?
1. Are all the six properties really necessary?
1. Is this relying too much on declarative specification and would we be
better off relying more on analyses?
1. Is this general enough for the community's needs? If not how should this be
extended, if at all?
...

These key questions (and much more) should be really thought of in the general
context of MLIR in which different levels of IR interoperate seamlessly. In
practice, it is not necessary (or beneficial) to try and solve all problems in the
same IR.

## Operations

[include "Dialects/LinalgOps.md"]


text:
<?php

declare(strict_types=1);

namespace Sonata\PageBundle\Service\Contract;

use Sonata\PageBundle\Model\SiteInterface;

interface CreateSnapshotBySiteInterface
{
    public function createBySite(SiteInterface $site): void;
}