text:
<!DOCTYPE html>

	<meta charset="utf-8" />
	<title>Metronic | UI Features - Tabs, Accordions & Navs</title>
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta content="width=device-width, initial-scale=1.0" name="viewport" />
	<meta content="" name="description" />
	<meta content="" name="author" />
	<meta name="MobileOptimized" content="320">

	<link href="assets/plugins/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"/>
	<link href="assets/plugins/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css"/>
	<link href="assets/plugins/uniform/css/uniform.default.css" rel="stylesheet" type="text/css"/>

	<link href="assets/css/style-metronic.css" rel="stylesheet" type="text/css"/>
	<link href="assets/css/style.css" rel="stylesheet" type="text/css"/>
	<link href="assets/css/style-responsive.css" rel="stylesheet" type="text/css"/>
	<link href="assets/css/plugins.css" rel="stylesheet" type="text/css"/>
	<link href="assets/css/themes/default.css" rel="stylesheet" type="text/css" id="style_color"/>
	<link href="assets/css/custom.css" rel="stylesheet" type="text/css"/>

	<link rel="shortcut icon" href="favicon.ico" />

					6

You have 14 new notifications

									New user registered.
									Just now

									Server #12 overloaded.
									15 mins

									Server #2 not responding.
									22 mins

									Application error.
									40 mins

									Database overloaded 68%.
									2 hrs

									2 user IP blocked.
									5 hrs

									Storage Server #4 not responding.
									45 mins

									System Error.
									55 mins

									Database overloaded 68%.
									2 hrs

							See all notifications

					5

You have 12 new messages

									Lisa Wong
									Just Now

									Vivamus sed auctor nibh congue nibh. auctor nibh
									auctor nibh...

									Richard Doe
									16 mins

									Vivamus sed congue nibh auctor nibh congue nibh. auctor nibh
									auctor nibh...

									Bob Nilson
									2 hrs

									Vivamus sed nibh auctor nibh congue nibh. auctor nibh
									auctor nibh...

									Lisa Wong
									40 mins

									Vivamus sed auctor 40% nibh congue nibh...

									Richard Doe
									46 mins

									Vivamus sed congue nibh auctor nibh congue nibh. auctor nibh
									auctor nibh...

							See all messages

					5

You have 12 pending tasks

									New release v1.2
									30%

									40% Complete

									Application deployment
									65%

									65% Complete

									Mobile app release
									98%

									98% Complete

									Database migration
									10%

									10% Complete

									Web server upgrade
									58%

									58% Complete

									Mobile development
									85%

									85% Complete

									New UI release
									18%

									18% Complete

							See all tasks

					Bob Nilson

 My Profile

 My Calendar

 My Inbox 3

 My Tasks 7

 Full Screen

 Lock Screen

 Log Out

					<form class="sidebar-search" action="extra_search.html" method="POST">

								<input type="text" placeholder="Search..."/>
								<input type="button" class="submit" value=" "/>

					</form>

					Dashboard

					Dashboard 2

					Layouts

							newSession Timeout

							newUser Idle Timeout

							Language Switch Bar

							Horizontal & Sidebar Menu

							Horizontal Menu 1

							Horizontal Menu 2

							newSidebar Toggler On Header

							Sidebar Fixed Page

							Sidebar Closed Page

							Disabled Menu Links

							Blank Page

							Boxed Page

							Non-Responsive Boxed Layout

							Promo Page

							Email Templates

							Content Loading via Ajax

					Frontend Theme

					UI Features

							General

							Buttons & Icons

							Typography

							Modals

							Extended Modals

							Tabs, Accordions & Navs

							newDate Paginator

							newBootbox Dialogs

							Tiles

							newToastr Notifications

							Tree View

							Nestable List

							Ion Range Sliders

							newNoUI Range Sliders

							jQuery UI Sliders

							Knob Circle Dials

					Form Stuff

							Form Controls

							Form Layouts

							Form Components

							newForm X-editable

							Form Wizard

							Form Validation

							newImage Cropping

							Multiple File Upload

							Dropzone File Upload

					Pages

							newPortfolio

							4Timeline

							Coming Soon

							Blog

							Blog Post

							9News

							News View

							About Us

							Contact Us

							14Calendar

					Extra

							User Profile

							Lock Screen

							FAQ

							4Inbox

							Search Results

							Invoice

							Pricing Tables

							404 Page Option 1

							404 Page Option 2

							404 Page Option 3

							500 Page Option 1

							500 Page Option 2

					3 Level Menu

							Item 1

Sample Link 1

Sample Link 2

Sample Link 3

							Item 1

Sample Link 1

Sample Link 1

Sample Link 1

							Item 3

					4 Level Menu

							Item 1

									Sample Link 1

 Sample Link 1

 Sample Link 1

 Sample Link 1

  Sample Link 1

  Sample Link 2

  Sample Link 3

							Item 2

  Sample Link 1

  Sample Link 1

  Sample Link 1

							Item 3

					Login Options

							Login Form 1

							Login Form 2

					Data Tables

							Basic Datatables

							Responsive Datatables

							Managed Datatables

							Editable Datatables

							Advanced Datatables

							Ajax Datatables

					Portlets

							General Portlets

							Draggable Portlets

					Maps

							Google Maps

							Vector Maps

					Visual Charts

							<button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>

Modal title

							Widget settings form goes here

							<button type="button" class="btn blue">Save changes</button>
							<button type="button" class="btn default" data-dismiss="modal">Close</button>

						THEME COLOR

						Layout
						<select class="layout-option form-control input-small">
							<option value="fluid" selected="selected">Fluid</option>
							<option value="boxed">Boxed</option>
						</select>

						Header
						<select class="header-option form-control input-small">
							<option value="fixed" selected="selected">Fixed</option>
							<option value="default">Default</option>
						</select>

						Sidebar
						<select class="sidebar-option form-control input-small">
							<option value="fixed">Fixed</option>
							<option value="default" selected="selected">Default</option>
						</select>

						Footer
						<select class="footer-option form-control input-small">
							<option value="fixed">Fixed</option>
							<option value="default" selected="selected">Default</option>
						</select>

						Tabs, Accordions & Navs tabs, accordions & navbars

							<button type="button" class="btn blue dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" data-delay="1000" data-close-others="true">
							Actions
							</button>

Action

Another action

Something else here

Separated link

							Home

							UI Features

Tabs, Accordions & Navs

Default Tabs

Home

Profile

									Dropdown

Option 1

Option 2

Option 3

Option 4

Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.

Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.

Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.

Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.

Default Pills

Home

Profile

									Dropdown

Option 1

Option 2

Option 3

Option 4

Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.

Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.

Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.

Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.

Below Tabs

Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.

Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.

Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.

Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.

Home

Profile

									Dropdown

Option 1

Option 2

Option 3

Option 4

Below Pills

Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.

Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.

Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.

Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.

Home

Profile

									Dropdown

Option 1

Option 2

Option 3

Option 4

Left Tabs

Home

Profile

										Dropdown

Option 1

Option 2

Option 3

Option 4

Settings

More

Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.

Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.

Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.

Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.

Right Tabs

Home

Profile

										Dropdown

Option 1

Option 2

Option 3

Option 4

Settings

More

Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.

Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.

Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.

Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.

Styled Tabs

Section 1

Section 2

Section 3

I'm in Section 1.

											Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.
											Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.
											Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.

Howdy, I'm in Section 2.

											Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat. Ut wisi enim ad minim veniam, quis nostrud exerci tation.

											Activate this tab via URL

Howdy, I'm in Section 3.

											Duis autem vel eum iriure dolor in hendrerit in vulputate.
											Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat

											Activate this tab via URL

I'm in Section 1.

											Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.

											Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat  dolor in hendrerit in vulputate velit esse molestie consequat.

Howdy, I'm in Section 2.

											Duis autem vel eum iriure dolor in hendrerit in vulputate.
											Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.

											Activate this tab via URL

Howdy, I'm in Section 3.

											Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate.

											Activate this tab via URL

Section 1

Section 2

Section 3

Portlet Tabs

Tab 3

Tab 2

Tab 1

											Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent.

												There is a known issue where the dropdown menu appears to be a clipping if it placed in tabbed content.
												By far there is no flaxible fix for this issue as per discussion here: https://github.com/twitter/bootstrap/issues/3661

												But you can check out the below dropdown menu. Don't worry it won't get chopped out by the tab content.
												Instead it will be opened as dropup menu

											 Settings

 Add

 Edit

 Delete

 Full Settings

											Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo.

											Activate this tab via URL

											Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.

											Activate this tab via URL

Portlet Tabs

Tab 3

Tab 2

Tab 1

											Check out the below dropdown menu. It will be opened as usual since there is enough space at the bottom.

											 Settings

 Add

 Edit

 Delete

 Full Settings

											Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait.

											Deros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna. consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna.

											Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo.

											Activate this tab via URL

											Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.

											Activate this tab via URL

Accordions

											Collapsible Group Item #1

												Duis autem vel eum iriure dolor in hendrerit in vulputate. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut.

												Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.

											Collapsible Group Item #2

												Duis autem vel eum iriure dolor in hendrerit in vulputate. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut.

												Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.

												Duis autem vel eum iriure dolor in hendrerit in vulputate. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut.

												Activate this section via URL

											Collapsible Group Item #3

												Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor.

												Duis autem vel eum iriure dolor in hendrerit in vulputate. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut.

												Activate this section via URL

											Collapsible Group Item #4

												Duis autem vel eum iriure dolor in hendrerit in vulputate. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut.

												Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor.

												Duis autem vel eum iriure dolor in hendrerit in vulputate. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut.

												Activate this section via URL

Scrollable Accordions

											Collapsible Group Item #1

												Duis autem vel eum iriure dolor in hendrerit in vulputate. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut.

												Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.

											Collapsible Group Item #2

												Duis autem vel eum iriure dolor in hendrerit in vulputate. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut.

												Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod.

												Duis autem vel eum iriure dolor in hendrerit in vulputate. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut.

												Activate this section via URL

											Collapsible Group Item #3

												Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor.

												Duis autem vel eum iriure dolor in hendrerit in vulputate. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut.

												Activate this section via URL

											Collapsible Group Item #4

												Duis autem vel eum iriure dolor in hendrerit in vulputate. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut.

												Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor.

												Duis autem vel eum iriure dolor in hendrerit in vulputate. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut.

												Activate this section via URL

Styled Tabs(justified)

Section 1

Section 2

Section 3

I'm in Section 1.

											Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.
											Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.
											Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.

Howdy, I'm in Section 2.

											Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat. Ut wisi enim ad minim veniam, quis nostrud exerci tation.

											Activate this tab via URL

Howdy, I'm in Section 3.

											Duis autem vel eum iriure dolor in hendrerit in vulputate.
											Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat

											Activate this tab via URL

I'm in Section 1.

											Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.

											Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat  dolor in hendrerit in vulputate velit esse molestie consequat.

Howdy, I'm in Section 2.

											Duis autem vel eum iriure dolor in hendrerit in vulputate.
											Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.

											Activate this tab via URL

Howdy, I'm in Section 3.

											Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate.

											Activate this tab via URL

Section 1

Section 2

Section 3

Navbar

									<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
									Toggle navigation

									</button>
									Brand

Link

Link

											Dropdown

Action

Another action

Something else here

Separated link

One more separated link

									<form class="navbar-form navbar-left" role="search">

											<input type="text" class="form-control" placeholder="Search">

										<button type="submit" class="btn blue">Submit</button>
									</form>

Link

											Dropdown

Action

Another action

Something else here

Separated link

Home

								Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.

ScrollSpy

									<button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-js-navbar-scrollspy">
									Toggle navigation

									</button>
									Section Name

Home

Profile

											Options

section 1

section 2

section 1

Home

Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.

Profile

Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard. Freegan beard aliqua cupidatat mcsweeney's vero. Cupidatat four loko nisi, ea helvetica nulla carles. Tattooed cosby sweater food truck, mcsweeney's quis non freegan vinyl. Lo-fi wes anderson +1 sartorial. Carles non aesthetic exercitation quis gentrify. Brooklyn adipisicing craft beer vice keytar deserunt.

Section 1

Occaecat commodo aliqua delectus. Fap craft beer deserunt skateboard ea. Lomo bicycle rights adipisicing banh mi, velit ea sunt next level locavore single-origin coffee in magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in, sustainable delectus consectetur fanny pack iphone.

Section 2

In incididunt echo park, officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.

Section 3

Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.

Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony, thundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats.

			2013 © Metronic by keenthemes.


text:
require_relative '../../test_helper'

module PagarMe
  class SubscriptionTest < PagarMeTestCase
    should 'be able to create subscription with plan' do
      plan = PagarMe::Plan.create plan_params
      assert_plan_created plan

      subscription = PagarMe::Subscription.create subscription_with_customer_params(plan: plan)
      assert_subscription_created subscription, plan
    end

    should 'be able to see subscription transactions' do
      plan         = PagarMe::Plan.create no_trial_plan_params
      subscription = PagarMe::Subscription.create subscription_with_customer_params(plan: plan)
      assert_no_trial_subscription_created subscription, plan

      sleep 1
      assert       subscription.transactions.count > 0
      assert_equal subscription.transactions.first.status, 'paid'
    end

    should 'be able to create subscription with plan and unsaved card' do
      plan         = PagarMe::Plan.create plan_params
      card         = PagarMe::Card.new card_params
      subscription = PagarMe::Subscription.create subscription_with_customer_params(plan: plan, card: card)
      assert_subscription_created subscription, plan
    end

    should 'be able to create subscription with plan and saved card' do
      plan         = PagarMe::Plan.create plan_params
      card         = PagarMe::Card.create card_params
      subscription = PagarMe::Subscription.create subscription_with_customer_params(plan: plan, card: card)
      assert_subscription_created subscription, plan
    end

    should 'be able to create subscription without plan' do
      subscription = PagarMe::Subscription.create subscription_with_customer_with_card_params(amount: 2000)
      assert_subscription_successfully_paid subscription, 2000

      found_subscription = PagarMe::Subscription.find_by_id subscription.id
      assert_subscription_successfully_paid found_subscription, 2000
    end

    should 'be able to create subscription without plan and charge with installments' do
      subscription = PagarMe::Subscription.create subscription_with_customer_with_card_params(amount: 2000, installments: 6)
      assert_subscription_successfully_paid subscription, 2000, 6

      id = subscription.id

      subscription.charge 1500, 3
      assert_equal id, subscription.id
      assert_subscription_successfully_paid subscription, 1500, 3

      found_subscription = PagarMe::Subscription.find_by_id subscription.id
      assert_subscription_successfully_paid found_subscription, 1500, 3
    end

    should 'be able to update subscription' do
      subscription = PagarMe::Subscription.create subscription_with_customer_with_card_params

      subscription.payment_method = 'boleto'
      subscription.save

      found_subscription = PagarMe::Subscription.find_by_id subscription.id
      assert_equal found_subscription.payment_method, 'boleto'
    end

    should 'raise an error when nil or empty string as ID' do
      assert_raises RequestError do
        PagarMe::Subscription.find_by_id nil
      end

      assert_raises RequestError do
        PagarMe::Subscription.find_by_id ''
      end
    end

    should 'be able to change plans' do
      plan       = PagarMe::Plan.create plan_params
      other_plan = PagarMe::Plan.create other_plan_params

      subscription = PagarMe::Subscription.create subscription_with_customer_with_card_params(plan: plan)
      assert_equal subscription.plan.id, plan.id

      subscription.plan = other_plan
      subscription.save
      assert_equal subscription.plan.id, other_plan.id
    end

    should 'be able to cancel a subscription' do
      plan         = PagarMe::Plan.create plan_params
      subscription = PagarMe::Subscription.create subscription_with_customer_with_card_params(plan: plan)
      assert_equal subscription.status, 'trialing'

      subscription.cancel
      assert_equal subscription.status, 'canceled'
    end
  end
end

redpajama_set_name: RedPajamaGithub


text:
#ifndef __RESOURCE_MATERIAL_H__
#define __RESOURCE_MATERIAL_H__

#include "Resource.h"
#include "ResourceTexture.h"
#include "Color.h"

#include <string>
#include <vector>
#include <map>

class ResourceTexture;

enum ShadingMode
{
	SHADING_FLAT = 0x1,
	SHADING_GOURAUD = 0x2,
	SHADING_PHONG = 0x3,
	SHADING_BLINN = 0x4,
	SHADING_TOON = 0x5,
	SHADING_ORENAYAR = 0x6,
	SHADING_MINNAERT = 0x7,
	SHADING_COOLTORRANCE = 0x8,
	SHADING_NO_SHADING = 0x9,
	SHADING_FRESNEL = 0xA
};

enum BlendMode
{
	/**
	*sourceColor * sourceAlpha + destColor * (1 - sourceAlpha)
	*/
	BLEND_DEFAULT = 0x0,

	/**
	*sourceColor * 1 + destColor * 1
	*/
	BLEND_ADDITIVE = 0x1
};

enum RenderMode
{
	RENDER_OPAQUE = 0x0,
	RENDER_CUTOUT = 0x1,
	RENDER_TRANSPARENT = 0x2
};

struct MaterialProperty
{
	enum MatPropertyType
	{
		MP_UNKNOWN = -1,
		MP_INT = 0,
		MP_FLOAT,
		MP_TEXTURE_RES,
		MP_VEC2,
		MP_VEC3,
		MP_VEC4,
		MP_MAT3,
		MP_MAT4
	}propertyType = MP_UNKNOWN;

	union
	{
		int iProp;
		float fProp;
		uint textureResId;
		float* fPointer;

	}property;

	const char* propertyName = nullptr;

	MaterialProperty(const char* name, int prop);
	MaterialProperty(const char* name, float prop);
	MaterialProperty(const char* name, uint prop);
	MaterialProperty(const char* name, float* prop, MatPropertyType type);

	void SendInfoToShader(uint shader);
};

class ResourceMaterial : public Resource
{
	friend class ImporterMaterial;
public:
	ResourceMaterial(UID uuid);
	virtual ~ResourceMaterial();

	bool LoadInMemory()override;
	bool RemoveFromMemory()override;

	bool SetShader(uint shaderResource);

	void GetLocations();
	void SetPropertiesFromShaderFile();

	void SendMaterialToShader(float* model, float* camView, float* camProj);

	bool SaveMaterial();

private:

public:

	uint modelLoc = 0;
	uint viewLoc = 0;
	uint projLoc = 0;

private:

	UID shader = 0;

	std::map<std::string, MaterialProperty*> properties;

};

#endif // !__RESOURCE_MATERIAL_H__


text:
package aimax.osm.data;

import java.util.ArrayList;
import java.util.List;

import aimax.osm.data.entities.MapEntity;

/**
 * Classifies map entities with respect to their attributes based
 * on declarative classification rules. A classifier consists of a
 * default classification result and a sequence of classification rules.
 *
 *
Logically, a rule consists of a condition, which constrains name and
 * (optionally) value of one of the entity's attributes, and a sub-classifier.
 * Sub-classifiers should provide a default classification result.
 * Additionally, they can provide further rules which check other
 * attributes. When classifying an entity, the rules are
 * checked in the given order and the classifier of the first match is
 * applied recursively. If no rule match is found, the classifier's default
 * classification result is returned.

 *
 *
For efficiency reasons, rules are grouped by attribute
 * name on implementation level, and within such a group, binary search is
 * used to find a match.

 * @author Ruediger Lunde
 * @param <C> Class of classification results.
 */
public class EntityClassifier<C> {
	List<RuleGroup<C>> rules;
	C defaultEntityClass;

	/** Default constructor. */
	public EntityClassifier() {
		rules = new ArrayList<>();
	}

	public C getDefaultEntityClass() {
		return defaultEntityClass;
	}

	public void setDefaultEntityClass(C defaultEntityClass) {
		this.defaultEntityClass = defaultEntityClass;
	}

	/** Clears the default classification result and all rules. */
	public void clear() {
		rules.clear();
		defaultEntityClass = null;
	}

	/**
	 * Adds a new classification rule.
	 * @param attName Name of an attribute.
	 * @param attValue Value of an attribute or null.
	 * @param eclass Default classification result, possibly null.
	 * @return The sub-classifier corresponding to the rule.
	 */
	public EntityClassifier<C> addRule(String attName, String attValue, C eclass) {
		EntityClassifier<C> result = new EntityClassifier<>();
		result.setDefaultEntityClass(eclass);
		RuleGroup<C> rg = null;
		if (!rules.isEmpty()) {
			RuleGroup<C> last = rules.get(rules.size()-1);
			if (last.attName.equals(attName))
				rg = last;
		}
		if (rg == null) {
			rg = new RuleGroup<>(attName);
			rules.add(rg);
		}
		if (attValue == null)
			rg.defaultSubClassifier = result;
		else {
			int i = 0;
			while (i < rg.attValueRules.size()
					&& attValue.compareTo(rg.attValueRules.get(i).attValue)>0)
				i++;
			rg.attValueRules.add(i, new Rule<>(attValue, result));
		}
		return result;
	}

	/**
	 * Replaces an existing rule and returns the corresponding
	 * sub-classifier if found.
	 */
	public EntityClassifier<C> replaceRule(String attName, String attValue, C eclass) {
		EntityClassifier<C> newClassifier = new EntityClassifier<>();
		newClassifier.setDefaultEntityClass(eclass);
		for (RuleGroup<C> rg : rules) {
			if (attName.equals(rg.attName)) {
				if (attValue == null) {
					if (rg.defaultSubClassifier != null) {
						rg.defaultSubClassifier = newClassifier;
						return newClassifier;
					}
				} else {
					for (Rule<C> rule : rg.attValueRules) {
						if (attValue.equals(rule.attValue)) {
							rule.subClassifier = newClassifier;
							return newClassifier;
						}
					}
				}
			}
		}
		return null;
	}

	/** Classifies a map entity with respect to the given rules. */
	public C classify(MapEntity entity) {
		C result = null;
		for (RuleGroup<C> rg : rules) {
			String attValue = entity.getAttributeValue(rg.attName);
			if (attValue != null) {
				int min = 0;
				int max = rg.attValueRules.size()-1;
				int curr;
				int cr;
				Rule<C> currRule;
				while (min <= max) {
					curr = (min+max)/2;
					currRule = rg.attValueRules.get(curr);
					cr = attValue.compareTo(currRule.attValue);
					if (cr < 0)
						max = curr-1;
					else if (cr > 0)
						min = curr+1;
					else {
						result = currRule.subClassifier.classify(entity);
						break;
					}
				}
				if (result == null && rg.defaultSubClassifier != null) {
					result =  rg.defaultSubClassifier.classify(entity);
				}
				if (result != null)
					return result;
			}
		}
		return defaultEntityClass;
	}

	/////////////////////////////////////////////////////////////////
	// inner classes

	/** Maintains a sub-classifier for one attribute value. */
	private static class Rule<C> {
		String attValue;
		EntityClassifier<C> subClassifier;
		Rule(String attValue, EntityClassifier<C> subClassifier) {
			this.attValue = attValue;
			this.subClassifier = subClassifier;
		}
	}

	/**
	 * Maintains attribute value rules for one attribute name and
	 * optionally a default sub-classifier which is applied if none
	 * of the rules matches.
	 * @author R. Lunde
	 */
	private static class RuleGroup<C> {
		String attName;
		List<Rule<C>> attValueRules;
		EntityClassifier<C> defaultSubClassifier;

		RuleGroup(String attName) {
			this.attName = attName;
			attValueRules = new ArrayList<>();
		}
	}
}


text:
// (c) Copyright Microsoft Corporation.
// This source is subject to the Microsoft Public License (Ms-PL).
// Please see http://go.microsoft.com/fwlink/?LinkID=131993 for details.
// All other rights reserved.

using System;
using System.Collections.Generic;
using System.IO;
using System.Windows;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Resources;

namespace Microsoft.Phone.Controls
{
    /// <summary>
    /// Provides
    /// <see cref="T:Microsoft.Phone.Controls.ITransition"/>s
    /// for transition families and modes.
    /// </summary>
    /// <QualityBand>Preview</QualityBand>
    internal static class Transitions
    {
        /// <summary>
        /// The cached XAML read from the Storyboard resources.
        /// </summary>
        private static Dictionary<string, string> _storyboardXamlCache;

        /// <summary>
        /// Creates a
        /// <see cref="T:Microsoft.Phone.Controls.ITransition"/>
        /// for a transition family, transition mode, and
        /// <see cref="T:System.Windows.UIElement"/>.
        /// </summary>
        /// <typeparam name="T">The type of the transition mode.</typeparam>
        /// <param name="element">The <see cref="T:System.Windows.UIElement"/>.</param>
        /// <param name="name">The transition family.</param>
        /// <param name="mode">The transition mode.</param>
        /// <returns>The <see cref="T:Microsoft.Phone.Controls.ITransition"/>.</returns>
        private static ITransition GetEnumStoryboard<T>(UIElement element, string name, T mode)
        {
            string key = name + Enum.GetName(typeof(T), mode);
            Storyboard storyboard = GetStoryboard(key);
            if (storyboard == null)
            {
                return null;
            }
            Storyboard.SetTarget(storyboard, element);
            return new Transition(element, storyboard);
        }

        /// <summary>
        /// Creates a
        /// <see cref="T:System.Windows.Media.Storyboard"/>
        /// for a particular transition family and transition mode.
        /// </summary>
        /// <param name="name">The transition family and transition mode.</param>
        /// <returns>The <see cref="T:System.Windows.Media.Storyboard"/>.</returns>
        private static Storyboard GetStoryboard(string name)
        {
            if (_storyboardXamlCache == null)
            {
                _storyboardXamlCache = new Dictionary<string, string>();
            }
            string xaml = null;
            if (_storyboardXamlCache.ContainsKey(name))
            {
                xaml = _storyboardXamlCache[name];
            }
            else
            {
                string path = "/Microsoft.Phone.Controls.Toolkit;component/Transitions/Storyboards/" + name + ".xaml";
                Uri uri = new Uri(path, UriKind.Relative);
                StreamResourceInfo streamResourceInfo = Application.GetResourceStream(uri);
                using (StreamReader streamReader = new StreamReader(streamResourceInfo.Stream))
                {
                    xaml = streamReader.ReadToEnd();
                    _storyboardXamlCache[name] = xaml;
                }
            }
            return XamlReader.Load(xaml) as Storyboard;
        }

        /// <summary>
        /// Creates an
        /// <see cref="T:Microsoft.Phone.Controls.ITransition"/>
        /// for a
        /// <see cref="T:System.Windows.UIElement"/>
        /// for the roll transition.
        /// </summary>
        /// <param name="element">The <see cref="T:System.Windows.UIElement"/>.</param>
        /// <returns>The <see cref="T:Microsoft.Phone.Controls.ITransition"/>.</returns>
        public static ITransition Roll(UIElement element)
        {
            if (element == null)
            {
                throw new ArgumentNullException("element");
            }
            Storyboard storyboard = GetStoryboard("Roll");
            Storyboard.SetTarget(storyboard, element);
            element.Projection = new PlaneProjection { CenterOfRotationX = 0.5, CenterOfRotationY = 0.5 };
            return new Transition(element, storyboard);
        }

        /// <summary>
        /// Creates an
        /// <see cref="T:Microsoft.Phone.Controls.ITransition"/>
        /// for a
        /// <see cref="T:System.Windows.UIElement"/>
        /// for the rotate transition family.
        /// </summary>
        /// <param name="element">The <see cref="T:System.Windows.UIElement"/>.</param>
        /// <param name="rotateTransitionMode">The transition mode.</param>
        /// <returns>The <see cref="T:Microsoft.Phone.Controls.ITransition"/>.</returns>
        public static ITransition Rotate(UIElement element, RotateTransitionMode rotateTransitionMode)
        {
            if (element == null)
            {
                throw new ArgumentNullException("element");
            }
            if (!Enum.IsDefined(typeof(RotateTransitionMode), rotateTransitionMode))
            {
                throw new ArgumentOutOfRangeException("rotateTransitionMode");
            }
            element.Projection = new PlaneProjection { CenterOfRotationX = 0.5, CenterOfRotationY = 0.5 };

            // Takes into account the flow direction.
            rotateTransitionMode = AdjustRotateTransitionModeForFlowDirection(element, rotateTransitionMode);

            return GetEnumStoryboard<RotateTransitionMode>(element, "Rotate", rotateTransitionMode);
        }

        /// <summary>
        /// Creates an
        /// <see cref="T:Microsoft.Phone.Controls.ITransition"/>
        /// for a
        /// <see cref="T:System.Windows.UIElement"/>
        /// for the slide transition family.
        /// </summary>
        /// <param name="element">The <see cref="T:System.Windows.UIElement"/>.</param>
        /// <param name="slideTransitionMode">The transition mode.</param>
        /// <returns>The <see cref="T:Microsoft.Phone.Controls.ITransition"/>.</returns>
        public static ITransition Slide(UIElement element, SlideTransitionMode slideTransitionMode)
        {
            if (element == null)
            {
                throw new ArgumentNullException("element");
            }
            if (!Enum.IsDefined(typeof(SlideTransitionMode), slideTransitionMode))
            {
                throw new ArgumentOutOfRangeException("slideTransitionMode");
            }
            element.RenderTransform = new TranslateTransform();
            return GetEnumStoryboard<SlideTransitionMode>(element, string.Empty, slideTransitionMode);
        }

        /// <summary>
        /// Creates an
        /// <see cref="T:Microsoft.Phone.Controls.ITransition"/>
        /// for a
        /// <see cref="T:System.Windows.UIElement"/>
        /// for the swivel transition family.
        /// </summary>
        /// <param name="element">The <see cref="T:System.Windows.UIElement"/>.</param>
        /// <param name="swivelTransitionMode">The transition mode.</param>
        /// <returns>The <see cref="T:Microsoft.Phone.Controls.ITransition"/>.</returns>
        public static ITransition Swivel(UIElement element, SwivelTransitionMode swivelTransitionMode)
        {
            if (element == null)
            {
                throw new ArgumentNullException("element");
            }
            if (!Enum.IsDefined(typeof(SwivelTransitionMode), swivelTransitionMode))
            {
                throw new ArgumentOutOfRangeException("swivelTransitionMode");
            }
            element.Projection = new PlaneProjection();
            return GetEnumStoryboard<SwivelTransitionMode>(element, "Swivel", swivelTransitionMode);
        }

        /// <summary>
        /// Creates an
        /// <see cref="T:Microsoft.Phone.Controls.ITransition"/>
        /// for a
        /// <see cref="T:System.Windows.UIElement"/>
        /// for the turnstile transition family.
        /// </summary>
        /// <param name="element">The <see cref="T:System.Windows.UIElement"/>.</param>
        /// <param name="turnstileTransitionMode">The transition mode.</param>
        /// <returns>The <see cref="T:Microsoft.Phone.Controls.ITransition"/>.</returns>
        public static ITransition Turnstile(UIElement element, TurnstileTransitionMode turnstileTransitionMode)
        {
            if (element == null)
            {
                throw new ArgumentNullException("element");
            }
            if (!Enum.IsDefined(typeof(TurnstileTransitionMode), turnstileTransitionMode))
            {
                throw new ArgumentOutOfRangeException("turnstileTransitionMode");
            }
            element.Projection = new PlaneProjection { CenterOfRotationX = 0 };
            return GetEnumStoryboard<TurnstileTransitionMode>(element, "Turnstile", turnstileTransitionMode);
        }

        /// <summary>
        /// Creates an
        /// <see cref="T:Microsoft.Phone.Controls.ITransition"/>
        /// for a
        /// <see cref="T:System.Windows.UIElement"/>
        /// for the turnstile feather transition family.
        /// </summary>
        /// <param name="element">The <see cref="T:System.Windows.UIElement"/>.</param>
        /// <param name="turnstileFeatherTransitionMode">The transition mode.</param>
        /// <param name="beginTime">The time at which the transition should begin.</param>
        /// <returns>The <see cref="T:Microsoft.Phone.Controls.ITransition"/>.</returns>
        public static ITransition TurnstileFeather(UIElement element, TurnstileFeatherTransitionMode turnstileFeatherTransitionMode, TimeSpan? beginTime)
        {
            if (element == null)
            {
                throw new ArgumentNullException("element");
            }
            if (!Enum.IsDefined(typeof(TurnstileFeatherTransitionMode), turnstileFeatherTransitionMode))
            {
                throw new ArgumentOutOfRangeException("turnstileFeatherTransitionMode");
            }
            element.Projection = new PlaneProjection { CenterOfRotationX = 0 };
            return new FeatheredTransition(element, new Storyboard(), turnstileFeatherTransitionMode, beginTime);
        }

        /// <summary>
        /// Adjusts the rotate transition mode based on the <paramref name="element"/>'s FlowDirection.
        /// </summary>
        /// <param name="element">The <see cref="T:System.Windows.UIElement"/>.</param>
        /// <param name="rotateTransitionMode">The transition mode.</param>
        /// <returns>Returns the adjusted rotate transition mode.</returns>
        private static RotateTransitionMode AdjustRotateTransitionModeForFlowDirection(UIElement element, RotateTransitionMode rotateTransitionMode)
        {
            FrameworkElement fe = element as FrameworkElement;
            RotateTransitionMode adjustedRotateTransitionMode = rotateTransitionMode;

            if (fe != null && fe.FlowDirection == FlowDirection.RightToLeft)
            {
                switch (rotateTransitionMode)
                {
                    case RotateTransitionMode.In180Clockwise:
                        adjustedRotateTransitionMode = RotateTransitionMode.In180Counterclockwise;
                        break;
                    case RotateTransitionMode.In180Counterclockwise:
                        adjustedRotateTransitionMode = RotateTransitionMode.In180Clockwise;
                        break;
                    case RotateTransitionMode.In90Clockwise:
                        adjustedRotateTransitionMode = RotateTransitionMode.In90Counterclockwise;
                        break;
                    case RotateTransitionMode.In90Counterclockwise:
                        adjustedRotateTransitionMode = RotateTransitionMode.In90Clockwise;
                        break;
                    case RotateTransitionMode.Out180Clockwise:
                        adjustedRotateTransitionMode = RotateTransitionMode.Out180Counterclockwise;
                        break;
                    case RotateTransitionMode.Out180Counterclockwise:
                        adjustedRotateTransitionMode = RotateTransitionMode.Out180Clockwise;
                        break;
                    case RotateTransitionMode.Out90Clockwise:
                        adjustedRotateTransitionMode = RotateTransitionMode.Out90Counterclockwise;
                        break;
                    case RotateTransitionMode.Out90Counterclockwise:
                        adjustedRotateTransitionMode = RotateTransitionMode.Out90Clockwise;
                        break;
                }
            }

            return adjustedRotateTransitionMode;
        }
    }
}


text:
/*
 * This file is made to be executed from commandline : `node cli/fixtures.js`
 *
 * This file will load fixtures into your database.
 *
 * See https://github.com/ungdev/flux2-server/wiki/Fixtures for more informations
 */

const Sails = require('sails');
const fs = require('fs');
const inquirer = require('inquirer');

Sails.lift({port: 1338}, (error) => {
    sails.config.firebase = {};
    sails.log.info();
    sails.log.info();
    sails.log.info('=========== Create team ===========');
    sails.log.info('This command will help you to create a team from the commandline.' +
        'The server have to be stopped before this command starts.');

    inquirer.prompt([
    {
        message: 'Display name of the team',
        default: 'Flux admins',
        name: 'name',
    },
    {
        message: 'Group of the team',
        default: 'orga',
        name: 'group',
    },
    {
        message: 'Locaton of the headquarter of the team',
        default: 'Salle Asso',
        name: 'location',
    },
    {
        type: 'list',
        message: 'Role of the team',
        name: 'role',
        choices: Object.keys(sails.config.roles),
        default: 'admin'
    }]).then((answers) => {
        Team.create(answers, (error, team) => {
            if(error) {
                sails.log.error(error);
            }
            sails.log.info('Created team:', team);
            sails.lower();
        });
    });
});


text:
struct __AXObserver;
struct __AXUIElement;

@protocol UIAXElement
+ (BOOL)registerObserver:(struct __AXObserver *)arg1 forAXNotifications:(BOOL)arg2;
+ (id)stringForAXError:(long)arg1;
+ (id)stringForAXNotification:(int)arg1;
+ (id)stringForTraits:(unsigned long long)arg1;
+ (id)uiaxApplicationAtPosition:(struct CGPoint)arg1;
+ (id)uiaxElementAtPosition:(struct CGPoint)arg1;
+ (id)uiaxElementWithAXUIElementRef:(struct __AXUIElement *)arg1;
+ (id)uiaxFocusedApplicationElement;
+ (id)uiaxSpringBoardElement;
+ (id)uiaxSystemWideElement;
- (id)ancestry;
- (long)axError;
- (struct __AXUIElement *)axuiElementRef;
- (id)centerPoint;
- (BOOL)checkIsValid;
- (id)childWithTestingTrait:(id)arg1;
- (id)children;
- (id)description;
- (id)firstElementOfAttribute:(int)arg1 withValue:(id)arg2 forAttribute:(int)arg3;
- (BOOL)isValid;
- (id)parent;
- (BOOL)performAXAction:(int)arg1;
- (BOOL)performAXAction:(int)arg1 withValue:(id)arg2;
- (int)pid;
- (id)rect;
- (id)responder;
- (BOOL)setValue:(id)arg1 forAttribute:(int)arg2;
- (id)stringForAllKnownAttributes;
- (id)stringForAttributes:(id)arg1;
- (unsigned long long)traits;
- (id)traitsNumber;
- (id)valueForAttribute:(int)arg1;
- (id)valueForAttribute:(int)arg1 parameter:(id)arg2;
- (id)valuesForAllKnownAttributes;
- (id)valuesForAttributes:(id)arg1;
@end


text:
Gaia is Mozilla's Phone UX for the Boot to Gecko (B2G) project.

Boot to Gecko aims to create a complete, standalone operating system for the open web.

You can read more about B2G here:

  http://mozilla.org/b2g

follow us on twitter: @Boot2Gecko

  http://twitter.com/Boot2Gecko

join the Gaia mailing list:

  http://groups.google.com/group/mozilla.dev.gaia

and talk to us on IRC:

  #gaia on irc.mozilla.org

See INSTALL file in B2G repository for instructions on building and running B2G. To try out Gaia on desktop, see

  https://wiki.mozilla.org/Gaia/Hacking

## Tests

### Unit Tests

Unit tests for an app go in `apps/<APP>/test/unit/`.

To run all the unit tests with B2G Desktop:

1. Run `DEBUG=1 make`
2. Run `make test-agent-server &`
3. Run B2G Desktop and open the Test Agent app
4. Run `make test-agent-test`

   or `make test-agent-test APP=<APP>` to run unit tests for a
   specific app

More importantly, you can use test-agent-server to watch the files
on the filesystem and execute relevant tests when they change:

1. Run `DEBUG=1 make`
2. Run `make test-agent-server &`
3. Run B2G Desktop and open the Test Agent app
4. Edit files and when you save them, glance at the console with
   test-agent-server running

Note: If you add new files, you will need to restart test-agent-server.

For more details on writing tests, see:
https://developer.mozilla.org/en/Mozilla/Boot_to_Gecko/Gaia_Unit_Tests

### Integration Tests

Integration tests for an app are located in
`apps/<APP>/test/integration/`.

Prerequisites:

1. adb
2. FirefoxOS Device / Emulator / B2G Desktop

To run integration tests:

1. In your gaia/ directory, run `make` to build the profile
2. Run B2G Desktop

   or forward port 2828 from your device / emulator using
   `adb forward tcp:2828 tcp:2828`

3. Run `make test-integration` from the gaia/ directory

   or `make test-integration APP=<APP>` to run unit tests for a
   specified app

   or `make test-integration TESTS=<PATH/TO/TESTFILE.js>` to run unit
   tests in a specific file

   or `make test-integration REPORTER=<REPORTER>` to run integration
   tests with the specified reporter, for example `XUnit`

   or `make test-integration TESTVARS=<PATH/TO/TESTVARS.json>` to run
   tests with variables in the testvars file (this defaults to
   testvars.json)

Note: If you're using a FirefoxOS Device, it must have been flashed
with a build with marionette enabled. If it doesn't have marionette
enabled, then running `make test-integration` will time out.

The testvars file is a JSON file that maps app names to objects
holding key/values as required by that app's integration tests.  See
that app's integration test code and/or README for which key/values
are required.


text:
require 'spec_helper_acceptance'

describe 'mysql_user', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
  describe 'setup' do
    it 'should work with no errors' do
      pp = <<-EOS
        class { 'mysql::server': }
      EOS

      apply_manifest(pp, :catch_failures => true)
    end
  end

  describe 'adding user' do
    it 'should work without errors' do
      pp = <<-EOS
        mysql_user { 'ashp@localhost':
          password_hash => '6f8c114b58f2ce9e',
        }
      EOS

      apply_manifest(pp, :catch_failures => true)
    end

    it 'should find the user' do
      shell("mysql -NBe \"select '1' from mysql.user where CONCAT(user, '@', host) = 'ashp@localhost'\"") do |r|
        expect(r.stdout).to match(/^1$/)
        expect(r.stderr).to be_empty
      end
    end
  end
end


text:
=head1 LICENSE

Copyright [1999-2015] Wellcome Trust Sanger Institute and the EMBL-European Bioinformatics Institute
Copyright [2016-2022] EMBL-European Bioinformatics Institute

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

=cut

package ORM::EnsEMBL::DB::Production::Object::Changelog;

use strict;
use warnings;

use parent qw(ORM::EnsEMBL::DB::Production::Object);

__PACKAGE__->meta->setup(
  table       => 'changelog',

  columns     => [
    changelog_id          => {type => 'serial', primary_key => 1, not_null => 1},
    release_id            => {type => 'integer'},
    title                 => {type => 'varchar'},
    content               => {type => 'text'},
    notes                 => {type => 'text'},
    status                => {type => 'enum', 'values' => [qw(declared handed_over postponed cancelled)], 'default' => 'declared'},
    team                  => {type => 'enum', 'values' => [qw(Compara Core Funcgen EnsemblGenomes Genebuild Outreach Variation Web Wormbase Production)]},
    assembly              => {type => 'enum', 'values' => [qw(N Y)], 'default' => 'N'},
    gene_set              => {type => 'enum', 'values' => [qw(N Y)], 'default' => 'N'},
    repeat_masking        => {type => 'enum', 'values' => [qw(N Y)], 'default' => 'N'},
    stable_id_mapping     => {type => 'enum', 'values' => [qw(N Y)], 'default' => 'N'},
    affy_mapping          => {type => 'enum', 'values' => [qw(N Y)], 'default' => 'N'},
    biomart_affected      => {type => 'enum', 'values' => [qw(N Y)], 'default' => 'N'},
    variation_pos_changed => {type => 'enum', 'values' => [qw(N Y)], 'default' => 'N'},
    db_status             => {type => 'enum', 'values' => [qw(N/A unchanged patched new)], 'default' => 'N/A'},
    db_type_affected      => {type => 'set',  'values' => [qw(cdna core funcgen otherfeatures rnaseq variation vega)]},
    mitochondrion         => {type => 'enum', 'values' => [qw(Y N changed)], 'default' => 'N'},
    priority              => {type => 'integer', 'not_null' => 1, 'default' => 1},
    category              => {type => 'enum', 'values' => [qw(genebuild variation regulation alignment web schema retired rest other)], 'default' => 'other'},
    is_current            => {type => 'integer', 'not_null' => 1, 'default' => 1},
    site_type             => {type => 'enum', 'values' => [qw(ensembl grch37 pre)], 'default' => 'ensembl'}
  ],

  trackable             => 1,

  title_column          => 'title',

  inactive_flag_column  => 'is_current',

  relationships         => [
    species => {
      'type'        => 'many to many',
      'map_class'   => 'ORM::EnsEMBL::DB::Production::Object::ChangelogSpecies',
      'map_from'    => 'changelog',
      'map_to'      => 'species'
    }
  ]
);

1;


text:
Build: 1.10

Published:

How to Install Orchard
----------------------

To install Orchard using Web PI, follow these instructions:
<http://docs.orchardproject.net/Documentation/Installing-Orchard>.
Web PI will detect your hardware environment and install the application.

Alternatively, to install the release manually, download the Orchard.Web.1.10.zip file.

<http://docs.orchardproject.net/Documentation/Manually-installing-Orchard-zip-file>

The zip contents are pre-built and ready-to-run. Simply extract the contents of the Orchard
folder from the zip contents to an IIS virtual directory (or site root) and then point your
browser to the site. You can also just extract to a local folder and open the Orchard
folder in Visual Studio or WebMatrix as a web site (but not as a web application).
Please make sure you have a machine key
<http://docs.orchardproject.net/Documentation/Setting-up-a-machine-key>
or you may experience frequent disconnections.

What file to download?
----------------------

If you just want to use Orchard and don't care about the source code, Orchard.Web.1.10.zip
is what you want to use, preferably through the WebPI instructions.
Do not attempt to build the WebPI version in VS. Use the full source if you want to use VS.

If you want to take a look at the source code or want to be able to build the application in Visual Studio,
Orchard.Sources.1.10.zip is fine.

If you want to setup a development environment for patch or module development,
you should clone the repository by following the instructions here:
<http://docs.orchardproject.net/Documentation/Setting-up-a-source-enlistment>

Branches are described here: <http://docs.orchardproject.net/Documentation/Developer-FAQ#Whatarethedefaultanddevbranches?WhichoneshouldIbeusing?>

Who should use this software?
-----------------------------

This software is in version 1.10. The code is in a stable state and constitutes
a solid foundation for building applications, themes and modules.
Suggestions are welcome in the discussion forums.

You are allowed to use this software in any way that is compatible with the new BSD license.
This includes commercial derivative work.

What's new?
-----------

Orchard 1.10 fixes bugs and introduces the following changes and features:

* ...

The full list of fixed bugs for this release can be found here:

* [Bugs fixed in 1.10](https://github.com/OrchardCMS/Orchard/issues?q=is%3Aissue+milestone%3A%22Orchard+1.10%22+is%3Aclosed).

How to upgrade from a previous version
--------------------------------------

You can find migration instructions here: <http://docs.orchardproject.net/Documentation/Upgrading-a-site-to-a-new-version-of-Orchard>.

No matter what migration path you take, please take the precaution of making a backup of your site and database first.

### Upgrading from Orchard 1.9 and earlier

Please follow the upgrade instruction from this document: <http://docs.orchardproject.net/Documentation/orchard-1-9.Release-Notes>

#### Warning on Workflows localization fixes

Due to a fix on how Workflows activity outcomes (e.g. "Done") are localized, after upgrading to Orchard 1.10 part of the connections between Workflows activities will get lost on a site that uses a localized (non-English) admin area and you'll have to re-connect activities. How many connections get lost depends on the completeness of the localization package for the Workflows module.

Thus make sure to take notes of the structure of your workflows **before** upgrading if your site's admin area is using a culture other than an English one and has a localization package installed. If your site doesn't make use of Workflows, uses and English-speaking culture or doesn't have a localization package installed then it's not affected.

#### Warning on Email Workflows Activities

If you use the Send Email activity in Workflows to send emails you may want to check whether you have the Email Workflows Activities feature enabled. Due to a bug you could use the Send Email activity even if you had the feature disabled, but this was fixed and now you have to enable Email Workflows Activities to be able to send emails.

#### Warning on Dynamic Forms feature relocation

There are two new features in the Dynamic Forms module, Dynamic Forms Validation Activities and Dynamic Forms User Bindings. These contain the C# form submission validator and bindings for `UserPart`, respectively. Since these were moved to their own features from the root feature (to avoid the root feature depend on the Orchard.Scripting.CSharp and Orchard.Users modules) if you make use of these services you have to enable the new features.

Contributors
------------

This software would not exist without the community. In particular, for this release,
we should all be grateful to the following people who contributed patches and features:

- ...


text:
Copyright (c)
2015, 2016 [edwardaaaa](https://github.com/edwardaaaa)
2016, 2017 [かがみ](https://github.com/KagamiChan)
2017 [KochiyaOcean](https://github.com/KochiyaOcean)
2017 [Artoria](https://github.com/Artoria-0x04)
All rights reserved.

THESE SVG ICONS ARE **NOT** GOVERNED BY THE MIT LICENSE.

ICONS HERE CAN **ONLY** BE USED IN POI, INCLUDING PLUGINS, EXTENSIONS AND DERIVATIVES OF POI. ANY OTHER USAGE WITHOUT EXPLICIT PERMISSION IS PROHIBITED.


text:
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>ExpressinFactory</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
    <link rel="stylesheet" href="../static/cropper.min.css">
    <link rel="stylesheet" href="../static/main.css">
    <link rel="stylesheet" href="../static/styles.css">
    <script src="../static/jquery.min.js"></script>
    <script src="../static/fabric.js"></script>
    <script src="../static/cropper.js"></script>
  </head>
  <body>
    <app></app>
    <script src="build.js"></script>
  </body>
</html>


text:
/**********************************************************
* USING NAMESPACES
**********************************************************/

using QuantConnect.Interfaces;
using QuantConnect.Packets;

namespace QuantConnect.Lean.Engine.DataFeeds
{
    /********************************************************
    * CLASS DEFINITIONS
    *********************************************************/
    /// <summary>
    /// Backtesting data feed extends the filesystem data feed with almost no modifications. Later this method can
    /// be used for implementing alternative sources/generation for backtesting data.
    /// </summary>
    public class BacktestingDataFeed : FileSystemDataFeed
    {
        /********************************************************
        * CLASS VARIABLES
        *********************************************************/

        /********************************************************
        * CLASS PROPERTIES
        *********************************************************/

        /********************************************************
        * CLASS CONSTRUCTOR
        *********************************************************/
        /// <summary>
        /// Pass through the backtesting datafeed to the underlying file system datafeed implementation.
        /// </summary>
        /// <param name="algorithm">Algorithm we're operating with</param>
        /// <param name="job">Algorithm worker job</param>
        public BacktestingDataFeed(IAlgorithm algorithm, BacktestNodePacket job) : base(algorithm, job)
        {
            DataFeed = DataFeedEndpoint.Backtesting;
        }

        /********************************************************
        * CLASS METHODS
        *********************************************************/

    } // End Backtesting Feed Class:
} // End Namespace


text:
Generate Popolo-format JSON from CSV

This is a (deliberately very simple) module/script for generating
[Popolo-format JSON](http://www.popoloproject.com/) from CSV.

It does not try to cover every possible scenario — the expected use-case
is to quickly convert a simple table of data about legislators (e.g.
their name, email, party, and consituency), and then fill in the more
complex data by hand, or using a web-based system such as
[PopIt](https://popit.mysociety.org/).

It currently handles data from the following columns:
* `id`
* `name`
* `family_name`
* `given_name`
* `additional_name`
* `other_name`
* `honorific_prefix`
* `honorific_suffix`
* `patronymic_name`
* `sort_name`
* `email`
* `phone`
* `fax`
* `cell`
* `twitter`
* `gender`
* `birth_date`
* `death_date`
* `image`
* `summary`
* `biography`
* `national_identity`

(none of these are required — it will simply extract data from any
suitably-named columns)

If an email address is prefixed with `mailto:` (example: `mailto:username@example.com`), the script will remove this prefix (example result: `username@example.com`).

## Party/Faction Membership

Popolo allows for very complex modelling of roles and posts. Here,
however, we optimise for the most-common case: a legislator being
associated with a single political party/faction, possibly representing
a given region/constituency.

Basic Membership records will therefore be generated from the following
optional columns:

* `area`  (or `region` or `constituency`)
* `group` (or `party`, `bloc`, or `faction`)

An optional `start_date` and/or `end_date` can also given for the
membership.

## ID-generation

It is strongly recommended that `id` and `group_id` columns be provided.
If not, these will be generated from the `name` (or `group`) column. If
multiple people have the same name, this will do the wrong thing.

## Executive Posts

If members of the legislature can also hold executive positions (e.g.
Prime Minister; Minister of Education; etc) these can be specified in an
`executive` column.

## Terms

Data for multiple Terms (Legislative Periods) can be added by
specifiying a `term` column. If you use this, you **must** also provide
an `id` column, otherwise we will create a new Person each time (which
almost certainly isn't what you want). We don't currently do anything
smart here to combine fields: at the minute we just take the Person data
from the first line that provides that, and combine the Membership data
from later versions. If this doesn't do what you expect, let me know:
it's all a little experimental at the moment.

## Other Links

Any of the following columns will be turned into suitable "External
Links" data:

* `website`
* `blog`
* `facebook`
* `flickr`
* `instagram`
* `wikipedia`
* `youtube`


text:
using System;
using System.Collections.Generic;
using FluentAssertions;
using Moq;
using NUnit.Framework;
using OutlookMatters.Core.Http;
using OutlookMatters.Core.Mattermost.v3.Interface;
using OutlookMatters.Core.Mattermost.v3;
using Test.OutlookMatters.Core.Http;
using Test.OutlookMatters.Core.Mattermost.v3.Interface;

namespace Test.OutlookMatters.Core.Mattermost.v3
{
    [TestFixture]
    public class RestServiceImplTest
    {
        public const string TOKEN = "token";
        public const string LOGIN_ID = "login";
        public const string PASSWORD = "password";
        public const string USER_ID = "user";
        public readonly Uri Uri = new Uri("http://localhost");
        const string MESSAGE = "message";
        const string TEAM_ID = "teamId";
        const string TEAM_NAME = "teamName";
        const string TEAM_GUID = "teamGuid";
        const string POST_ID = "postId";
        const string CHANNEL_ID = "channelId";
        const string CHANNEL_NAME = "FunnyChannelName";
        private readonly string CONTENT_TYPE = "text/json";
        const ChannelType CHANNEL_TYPE = ChannelType.Public;

        [Test]
        public void Login_PerformsRestCall()
        {
            var login = SetupExampleLogin();
            var user = SetupExampleUserData();
            var httpClient = new Mock<IHttpClient>();
            httpClient.SetupRequest("http://localhost/", "api/v3/users/login")
                .WithContentType(CONTENT_TYPE)
                .Post(login.SerializeToPayload())
                .Responses(user.SerializeToPayload())
                .WithToken(TOKEN);
            var sut = new RestServiceImpl(httpClient.Object);

            string token;
            var result = sut.Login(Uri, login, out token);

            Assert.That(result, Is.EqualTo(user));
        }

        [Test]
        public void Login_OutputsToken()
        {
            var login = SetupExampleLogin();
            var user = SetupExampleUserData();
            var httpClient = new Mock<IHttpClient>();
            httpClient.SetupRequest("http://localhost/", "api/v3/users/login")
                .WithContentType(CONTENT_TYPE)
                .Post(login.SerializeToPayload())
                .Responses(user.SerializeToPayload())
                .WithToken(TOKEN);
            var sut = new RestServiceImpl(httpClient.Object);

            string token;
            sut.Login(Uri, login, out token);

            Assert.That(token, Is.EqualTo(TOKEN));
        }

        [Test]
        public void Login_DisposesHttpResponse()
        {
            var login = SetupExampleLogin();
            var user = SetupExampleUserData();
            var httpClient = new Mock<IHttpClient>();
            var httpResponse = httpClient.SetupRequest("http://localhost/", "api/v3/users/login")
                .WithContentType(CONTENT_TYPE)
                .Post(login.SerializeToPayload())
                .Responses(user.SerializeToPayload())
                .WithToken(TOKEN);
            var sut = new RestServiceImpl(httpClient.Object);

            string token;
            sut.Login(Uri, login, out token);

            httpResponse.Verify(x => x.Dispose());
        }

        [Test]
        public void Login_ThrowsMattermostExceptionWithError_IfHttpExceptionWithErrorPayload()
        {
            var login = SetupExampleLogin();
            var error = SetupExampleError();
            var httpClient = new Mock<IHttpClient>();
            httpClient.SetupRequest("http://localhost/", "api/v3/users/login")
                .WithContentType(CONTENT_TYPE)
                .FailsAtPost(login.SerializeToPayload())
                .Responses(error.SerializeToPayload());
            var sut = new RestServiceImpl(httpClient.Object);

            try
            {
                string token;
                sut.Login(Uri, login, out token);
                Assert.Fail();
            }
            catch (MattermostException mex)
            {
                mex.Message.Should().Be(error.Message);
                mex.Details.Should().Be(error.DetailedError);
            }
        }

        [Test]
        public void GetChannelList_PerformsRestCall()
        {
            var channelList = SetupExampleChannelList();
            var httpClient = new Mock<IHttpClient>();
            httpClient.SetupRequest("http://localhost/", "api/v3/teams/" + TEAM_ID + "/channels/")
                .WithToken(TOKEN)
                .Get()
                .Responses(channelList.SerializeToPayload());
            var sut = new RestServiceImpl(httpClient.Object);

            var result = sut.GetChannelList(Uri, TOKEN, TEAM_ID);

            Assert.That(result, Is.EqualTo(channelList));
        }

        [Test]
        public void GetChannelList_DisposesHttpRequest()
        {
            var channelList = SetupExampleChannelList();
            var httpClient = new Mock<IHttpClient>();
            var httpResponse = httpClient.SetupRequest("http://localhost/", "api/v3/teams/" + TEAM_ID + "/channels/")
                .WithToken(TOKEN)
                .Get()
                .Responses(channelList.SerializeToPayload());
            var sut = new RestServiceImpl(httpClient.Object);

            sut.GetChannelList(Uri, TOKEN, TEAM_ID);

            httpResponse.Verify(x => x.Dispose());
        }

        [Test]
        public void GetChannelList_ThrowsMattermostExceptionWithError_IfHttpExceptionWithErrorPayload()
        {
            var error = SetupExampleError();
            var httpClient = new Mock<IHttpClient>();
            httpClient.SetupRequest("http://localhost/", "api/v3/teams/" + TEAM_ID + "/channels/")
                .WithToken(TOKEN)
                .FailsAtGet()
                .Responses(error.SerializeToPayload());
            var sut = new RestServiceImpl(httpClient.Object);

            try
            {
                sut.GetChannelList(Uri, TOKEN, TEAM_ID);
                Assert.Fail();
            }
            catch (MattermostException mex)
            {
                mex.Message.Should().Be(error.Message);
                mex.Details.Should().Be(error.DetailedError);
            }
        }

        [Test]
        public void GetInitialLoad_PerformsRestCall()
        {
            var initialLoad = SetupExampleInitialLoad();
            var httpClient = new Mock<IHttpClient>();
            httpClient.SetupRequest("http://localhost/", "api/v3/users/initial_load")
                .WithToken(TOKEN)
                .Get()
                .Responses(initialLoad.SerializeToPayload());
            var sut = new RestServiceImpl(httpClient.Object);

            var result = sut.GetInitialLoad(Uri, TOKEN);

            Assert.That(result, Is.EqualTo(initialLoad));
        }

        [Test]
        public void GetInitialLoad_DisposesHttpRequest()
        {
            var initialLoad = SetupExampleInitialLoad();
            var httpClient = new Mock<IHttpClient>();
            var httpResponse = httpClient.SetupRequest("http://localhost/", "api/v3/users/initial_load")
                .WithToken(TOKEN)
                .Get()
                .Responses(initialLoad.SerializeToPayload());
            var sut = new RestServiceImpl(httpClient.Object);

            sut.GetInitialLoad(Uri, TOKEN);

            httpResponse.Verify(x => x.Dispose());
        }

        [Test]
        public void GetInitialLoad_ThrowsMattermostExceptionWithError_IfHttpExceptionWithErrorPayload()
        {
            var error = SetupExampleError();
            var httpClient = new Mock<IHttpClient>();
            httpClient.SetupRequest("http://localhost/", "api/v3/users/initial_load")
                .WithToken(TOKEN)
                .FailsAtGet()
                .Responses(error.SerializeToPayload());
            var sut = new RestServiceImpl(httpClient.Object);

            try
            {
                sut.GetInitialLoad(Uri, TOKEN);
                Assert.Fail();
            }
            catch (MattermostException mex)
            {
                mex.Message.Should().Be(error.Message);
                mex.Details.Should().Be(error.DetailedError);
            }
        }

        [Test]
        public void GetPostById_GetsThreadViaHttp()
        {
            var thread = SetupExampleThread();
            var httpClient = new Mock<IHttpClient>();
            httpClient.SetupRequest("http://localhost/", "api/v3/teams/" + TEAM_ID + "/posts/" + POST_ID)
                .WithToken(TOKEN)
                .Get()
                .Responses(thread.SerializeToPayload());
            var sut = new RestServiceImpl(httpClient.Object);

            var result = sut.GetPostById(Uri, TOKEN, TEAM_ID, POST_ID);

            Assert.That(result, Is.EqualTo(thread));
        }

        [Test]
        public void GetPostById_DisposesHttpResonse()
        {
            var thread = SetupExampleThread();
            var httpClient = new Mock<IHttpClient>();
            var httpResponse =
                httpClient.SetupRequest("http://localhost/", "api/v3/teams/" + TEAM_ID + "/posts/" + POST_ID)
                    .WithToken(TOKEN)
                    .Get();
            httpResponse.Responses(thread.SerializeToPayload());
            var sut = new RestServiceImpl(httpClient.Object);

            sut.GetPostById(Uri, TOKEN, TEAM_ID, POST_ID);

            httpResponse.Verify(x => x.Dispose());
        }

        [Test]
        public void CreatePost_MakesTheCorrectHttpRequests()
        {
            var post = SetupExamplePost();
            var httpClient = new Mock<IHttpClient>();
            httpClient.SetupRequest("http://localhost/",
                    "api/v3/teams/" + TEAM_GUID + "/channels/" + post.ChannelId + "/posts/create")
                .WithToken(TOKEN)
                .WithContentType(CONTENT_TYPE)
                .Post(post.SerializeToPayload());
            var sut = new RestServiceImpl(httpClient.Object);

            sut.CreatePost(Uri, TOKEN, CHANNEL_ID, TEAM_GUID, post);

            httpClient.VerifyAll();
        }

        [Test]
        public void GetPostById_ThrowsMattermostExceptionWithError_IfHttpExceptionWithErrorPayload()
        {
            var error = SetupExampleError();
            var httpClient = new Mock<IHttpClient>();
            httpClient.SetupRequest("http://localhost/", "api/v3/teams/" + TEAM_ID + "/posts/" + POST_ID)
                .WithToken(TOKEN)
                .FailsAtGet()
                .Responses(error.SerializeToPayload());
            var sut = new RestServiceImpl(httpClient.Object);

            try
            {
                sut.GetPostById(Uri, TOKEN, TEAM_ID, POST_ID);
                Assert.Fail();
            }
            catch (MattermostException mex)
            {
                mex.Message.Should().Be(error.Message);
                mex.Details.Should().Be(error.DetailedError);
            }
        }

        private Thread SetupExampleThread()
        {
            var thread = new Thread
            {
                Order = new[] {POST_ID},
                Posts = new Dictionary<string, Post>()
            };
            thread.Posts[POST_ID] = SetupExamplePost();
            return thread;
        }

        private Post SetupExamplePost()
        {
            return new Post
            {
                Id = string.Empty,
                ChannelId = CHANNEL_ID,
                Message = MESSAGE,
                UserId = USER_ID,
                RootId = string.Empty
            };
        }

        private static IEnumerable<Channel> SetupExampleChannelList()
        {
            return new List<Channel>
            {
                new Channel {ChannelId = CHANNEL_ID, ChannelName = CHANNEL_NAME, Type = CHANNEL_TYPE}
            };
        }

        private static InitialLoad SetupExampleInitialLoad()
        {
            return new InitialLoad
            {
                Teams = new[]
                {
                    new Team {Id = TEAM_ID, Name = TEAM_NAME}
                }
            };
        }

        private static Login SetupExampleLogin()
        {
            return new Login
            {
                LoginId = LOGIN_ID,
                Password = PASSWORD,
                Token = string.Empty
            };
        }

        private static User SetupExampleUserData()
        {
            return new User {Id = USER_ID};
        }

        private Error SetupExampleError()
        {
            return new Error
            {
                Message = "message",
                DetailedError = "detailed_error"
            };
        }
    }
}


text:
<?php

namespace Dingo\Api\Tests\Auth;

use Mockery as m;
use Dingo\Api\Auth\Auth;
use Dingo\Api\Http\Request;
use PHPUnit_Framework_TestCase;
use Illuminate\Container\Container;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
use Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException;

class AuthTest extends PHPUnit_Framework_TestCase
{
    public function setUp()
    {
        $this->container = new Container;
        $this->router = m::mock('Dingo\Api\Routing\Router');
        $this->auth = new Auth($this->router, $this->container, []);
    }

    public function tearDown()
    {
        m::close();
    }

    /**
     * @expectedException \Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException
     */
    public function testExceptionThrownWhenAuthorizationHeaderNotSet()
    {
        $this->router->shouldReceive('getCurrentRoute')->once()->andReturn($route = m::mock('Dingo\Api\Routing\Route'));
        $this->router->shouldReceive('getCurrentRequest')->once()->andReturn($request = Request::create('foo', 'GET'));

        $provider = m::mock('Dingo\Api\Auth\Provider\Provider');
        $provider->shouldReceive('authenticate')->once()->with($request, $route)->andThrow(new BadRequestHttpException);

        $this->auth->extend('provider', $provider);

        $this->auth->authenticate();
    }

    /**
     * @expectedException \Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException
     */
    public function testExceptionThrownWhenProviderFailsToAuthenticate()
    {
        $this->router->shouldReceive('getCurrentRoute')->once()->andReturn($route = m::mock('Dingo\Api\Routing\Route'));
        $this->router->shouldReceive('getCurrentRequest')->once()->andReturn($request = Request::create('foo', 'GET'));

        $provider = m::mock('Dingo\Api\Auth\Provider\Provider');
        $provider->shouldReceive('authenticate')->once()->with($request, $route)->andThrow(new UnauthorizedHttpException('foo'));

        $this->auth->extend('provider', $provider);

        $this->auth->authenticate();
    }

    public function testAuthenticationIsSuccessfulAndUserIsSet()
    {
        $this->router->shouldReceive('getCurrentRoute')->once()->andReturn($route = m::mock('Dingo\Api\Routing\Route'));
        $this->router->shouldReceive('getCurrentRequest')->once()->andReturn($request = Request::create('foo', 'GET'));

        $provider = m::mock('Dingo\Api\Auth\Provider\Provider');
        $provider->shouldReceive('authenticate')->once()->with($request, $route)->andReturn((object) ['id' => 1]);

        $this->auth->extend('provider', $provider);

        $user = $this->auth->authenticate();

        $this->assertSame(1, $user->id);
    }

    public function testProvidersAreFilteredWhenSpecificProviderIsRequested()
    {
        $this->router->shouldReceive('getCurrentRoute')->once()->andReturn($route = m::mock('Dingo\Api\Routing\Route'));
        $this->router->shouldReceive('getCurrentRequest')->once()->andReturn($request = Request::create('foo', 'GET'));

        $provider = m::mock('Dingo\Api\Auth\Provider\Provider');
        $provider->shouldReceive('authenticate')->once()->with($request, $route)->andReturn((object) ['id' => 1]);

        $this->auth->extend('one', m::mock('Dingo\Api\Auth\Provider\Provider'));
        $this->auth->extend('two', $provider);

        $this->auth->authenticate(['two']);
        $this->assertSame($provider, $this->auth->getProviderUsed());
    }

    public function testGettingUserWhenNotAuthenticatedAttemptsToAuthenticateAndReturnsNull()
    {
        $this->router->shouldReceive('getCurrentRoute')->once()->andReturn('foo');
        $this->router->shouldReceive('getCurrentRequest')->once()->andReturn('bar');

        $this->auth->extend('provider', m::mock('Dingo\Api\Auth\Provider\Provider'));

        $this->assertNull($this->auth->user());
    }

    public function testGettingUserWhenAlreadyAuthenticatedReturnsUser()
    {
        $this->auth->setUser((object) ['id' => 1]);

        $this->assertSame(1, $this->auth->user()->id);
        $this->assertTrue($this->auth->check());
    }
}