text:
Mashable - Tech News
The latest articles about Tech from Mashable, the media and tech company
Techie Updates
Tesla's auto-pilot painted in good light in own safety report, but it isn't that simple
Tesla points out that NHTSA's data at the end of Q1 and Q2 was one crash per 436,000 miles and 498,000 miles, respectively. However, while the numbers look good, Autopilot is most often used on highways so Autopilot-on and Autopilot-off miles can't be directly compared.
Read more here. Read more.....
iPad Pro 10.5-inch is down to just $474 at Walmart — save $175
TL;DR: The beautiful Apple 10.5-inch iPad Pro (Wi-Fi, 64GB, previous model) is $474 at Walmart for the gold and rose gold models. That's a $175 discount on one of the best tablets available right now. ..
Logitech gaming keyboard and mouse bundle is $90 off at Dell
TL;DR: The high-performance Logitech gaming G513 keyboard and G502 mouse bundle is $139.99, saving you $90...
The Jack LaLanne Fusion juicer is less than $60 at Walmart
TL;DR: The stainless steel Jack LaLanne Fusion juicer is only $59.88 at Walmart, saving you $10 off of the already-low original price...
Samsung Galaxy smartwatches are on sale on Amazon — save $50
TL;DR: The health-tracking, long-lasting Samsung Galaxy smartwatch comes in two different sizes — 42mm and 46mm — which retail for $329 and $349, respectively, but you can save $50 by ordering yours from Amazon...
Netflix raised prices—and lost 126,000 U.S. subscribers
For the first time since 2011, Netflix lost U.S. subscribers...
Get the Ninja Hot & Cold Brewed coffee system for half off at Walmart
TL;DR: Get the Ninja Hot & Cold Brewed System for $89.99 from Walmart, a savings of over half off its list price of $179.99...
This Frigidaire portable mini fridge is on sale for $29 at Walmart
TL;DR: You can get the compact Frigidaire portable retro mini fridge on sale at Walmart for $29, a savings of $20 off the usual price. ..
This indoor grill and panini maker by De'Longhi is less than $240
TL;DR: This multifaceted indoor grill and panini maker by De'Longhi is on sale for $238.95, saving you $41...
Eufy smart scale is 30% off at Amazon, saving you $13.50
TL;DR: The comprehensive Eufy smart scale is on sale for $31.49, down from $44.99...
Elon Musk hopes to have brain-reading 'threads' available by 2020
These threads are covered in electrodes and inserted into the brain next to neurons and synapses. The results could allow humans to "merge" with artificial intelligence.
A pickup truck emoji may be on its way
The emoji, displayed and created by Ford, was proposed for the 2020 additions to the emoji keyboard.
Bitcoin drops below $10,000 as Libra enters the fold
The cryptocurrency reached a low of $9,214. With Libra, a Facebook-owned cryptocurrency, entering the ring, many are pointing to the criticism Facebook and cryptocurrencies in general are facing as a potential reason behind the decline.
Controversial search engine Dragonfly has been 'terminated,' Google exec claims
This was a step away from another exec's December 2018 statements that Google didn't have plans to launch a search product in China "right now." Dragonfly was criticized for the privacy, censorship, and human rights concerns it may have caused.
Vizio D-Series TVs are on sale for up to $250 off at Walmart
TL;DR: Walmart has slashed the prices of several Vizio D-Series TVs by as much as $250 as part of its ongoing Big Save sale. Get the one you see above for just $110, for example!..
Get a Dell Inspiron 2-in-1 for less than $300, plus a free Fire TV Stick
TL;DR: The portable Dell Inspiron 11 3000 2-in-1 is on sale for $293.99, saving you $106 — plus, you can add a Fire TV Stick to your order for free...
Shark Ion robot vacuum cleaning bundle is $200 off at Walmart
TL;DR: The lightweight-yet-mighty Shark Ion robot vacuum system comes bundled with a helpful hand vacuum — and the whole thing is only $249 at Walmart ($200 off the original price)...
The Bug-A-Salt bug-killing device is on sale for just $30 at Walmart
TL;DR: Grab the fun and useful Bug-A-Salt from Walmart for $29.95 — $12 off its usual price...
This Margaritaville frozen drink maker is $50 off at Walmart
TL;DR: You can get a versatile Margaritaville Bahamas frozen concoction maker on sale for $149.99 at Walmart, a $50 savings on its usual price...
Drones with flamethrowers are a thing you can buy now
Category: Tech News


text:
Melissa Red Pill celebrates the injunction against Biden's vaccine mandate for employees of federal contractors
Melissa Red Pill celebrated a victory against President Joe Biden's Wuhan coronavirus (COVID-19) vaccine mandate during the Dec. 8 episode of her program "Freedom Force Battalion" on Brighteon.TV.
A federal court recently prohibited the Biden administration from enforcing its COVID-19 vaccine mandate for federal contractors.
This mandate came in the form of an executive order signed in early September. It forced all federal contractors to ensure that their employees are fully vaccinated.
Companies that take government contracts but do not abide by this order will have their contracts revoked, and the contractor will no longer have the opportunity to receive future lucrative deals with the government.
"The injunction is nationwide. Love it," said Red Pill. She added that she has received a lot of questions from people wondering whether federal judges are "good guys" or part of the Deep State Cabal. "Well, this one said 'Nope. Nope. Reject' to Biden. He cannot mandate this vaccine … or whatever you wanna call it. Bioweapon. He can't mandate the bioweapon."
Red Pill noted that what needs to be blocked next are mainstream media outlets that still promote the experimental and dangerous COVID-19 vaccines.
"They truly are the enemy of the people. You can block the vaccine mandate all day long. But if people still willingly go over and get the jab, then what good is it? I guess the best thing is that people are leaving them in droves," said Red Pill.
"Because I really can't believe what they say anymore. I just pray that people won't believe them all. We just need to continue to pray for people that they will see through this and not do this."
Red Pill shared the latest data coming in from OpenVAERS, a project that publicizes the data that the Centers for Vaccine Control and Prevention and the Food and Drug Administration are trying to keep hidden regarding the number of people experiencing adverse reactions and the number of deaths due to the COVID-19 vaccine.
According to the website's latest data from Nov. 26, the Vaccine Adverse Event Reporting System has received nearly a million reports regarding vaccines. These include 19,532 deaths and nearly 100,000 hospitalizations.
Data from the website also reports that the COVID-19 vaccines have caused nearly 10,000 heart attacks, have left over 31,000 people permanently disabled and have caused 3,148 miscarriages.
Senate passes Republican bill rejecting COVID-19 vaccine mandate
The campaign to prevent the Biden administration from passing COVID-19 vaccine mandates has also scored a victory in the Democrat-controlled Senate. On Wednesday, a Republican-backed measure to overturn the vaccine-or-test mandate for private businesses passed, with two Democrats joining the Republican caucus in backing the initiative.
Biden's vaccine mandate for private corporations requires all businesses with 100 or more employees to either ensure that their employees are fully vaccinated against COVID-19 or that they undergo weekly testing for the coronavirus. Businesses that do not comply face steep fines.
Republican senators brought the repeal to the floor of the Senate as an amendment to the "Congressional Review Act." The measure was not subject to the Senate rule that requires 60 votes for legislation to pass without getting filibustered.
Senators who brought up the repeal said their offices have received multiple calls from small businesses with 100 or more workers that are concerned about having to fire employees who are opposed to regular testing or forced vaccinations.
"It's got Main Street America scared," said Republican Sen. Mike Braun of Indiana, who led the initiative to pass the repeal in the Senate.
When the measure came to a vote, moderate Democratic Sens. Joe Manchin of West Virginia and Jon Tester of Montana joined the 50 Republicans in the Senate in voting for the bill.
Republicans lauded Manchin and Tester for supporting the measure, and they claimed that the repeal's bipartisan support sends a clear message that a majority of Americans are concerned about the mandate's potential impact on workers, businesses and the economy.
In explaining his vote, Manchin said in a statement that he has always supported mandating vaccinations for federal employees and members of the armed forces because "maintaining essential services and military readiness the federal government provides is a matter of national importance."
"However, I do not support any government vaccine mandate for private businesses. It is not the place of the federal government to tell private business owners how to protect their employees from COVID-19 and operate their businesses," said Manchin.
The proposal to repeal the vaccine mandate on private businesses will face steep hurdles to pass in the Democrat-controlled House of Representatives. It is unlikely Speaker Nancy Pelosi will allow the measure to be taken up at all. Biden has also threatened to veto the bill if it cleared Congress.

redpajama_set_name: RedPajamaCommonCrawl


We understand that facing redundancy can be very stressful and have a huge impact on your financial circumstances and personal life. If you have been told you that you're at risk of redundancy, we're able to help.
We're highly experienced in advising people in just this situation. We can explain what rights you have and what the obligations of your employer are in relation to a redundancy consultation exercise. We can advise you on what redundancy pay you're entitled to and help you negotiate a compensation package if you are selected for redundancy. If you believe your employer's decision to make you redundant is unfair, we can also advise you on your options.
Whatever it is, our friendly, professional, employment lawyers will take the time to be available to listen and understand your situation, before giving clear, straightforward advice. We'll go the extra mile on your behalf, ensuring the best possible outcome for you, whilst making sure you understand the whole process and making it is as easy and stress-free as possible for you.
Call our Employment team on 0161 832 4666, who will be happy to talk things through with you or complete the online enquiry form and one of our team will get in touch for a no obligation chat.


four independently controlled channels, optimized for buspowered Universal Serial Bus (USB) applications. Few external components are necessary to satisfy USB requirements.
and 5V logic compatible enable inputs.


1st Day of Our 12 Days of Christmas Event!
The first day of Our 12 Days of Christmas Event is dedicated to Santa Clause himself! Yes, our large selection of children's toys and games are 20% off, including Hello Kitty merchandise!
Vera Bradley Introduces Christmas Stockings!
Yes, it is true. We now have Christmas stockings in Symphony in Hue and Blue Rhapsody! Please hurry in, because supplies are limited.
Both stores are decked out for Christmas, but of course, I want to toot Ashley's Elkin horn. The Elkin store looks gorgeous and 7 trees boast a wide-variety of ornaments---something for everyone! Enjoy these pictures of the Elkin shop, and come visit!! The windows are now decorated at both shops as well with photos to follow!
Plus you could use the maple glaze of all kinds of other foods, such as pork, chicken or carrots for starters.
Work of Art or Children's Toy?
Note from Angela: I really look for toys for children that are unique, timeless and something that can be passed on from your children to their children and ImagiPLAY wooden puzzles are one of those items.
Note about puzzle pictured: This Butterfly helps kids learn their A,B,C's! When complete, she stands up to brighten any room. Hand-crafted & hand-painted with child-safe paints. Made from plantation-grown rubberwood, an environmentally-friendly hardwood. Ages 3+ Puzzle Measures 10 x 7 x 1"
Only available currently at our North Wilkesboro location (667-4556).
Enjoy one of the legendary Wind and Willow cheeseballs, soups or a creamy dips. Wind & Willow products are also a wonderful way to bring family and friends together. You want to create something spectacular. Below is a recipe using my personal WAW cheeseball mix, BLT. You are welcome to call us at either location for flavor avaliability.
BLT Hot Bites-Possibly the single most delicious Hors D'oeuver ever!
Pre-heat oven to 425. Combine BLT Mix with 8 oz of cream cheese and 4 Tbs. butter. Trim the crust from 4 slices of white sandwich bread. Cut into 3 equal strips. Spread each strip with BLT mixture and sprinkle with Herb and Tomato Topping. Roll up from the short end of the strip. Wrap with 1/2 strip of bacon and secure with a toothpick. Back for approximately 10 minutes or until bacon is done. Your guests will fight for the last bite.
Many of our friends and family, including myself, have enjoyed Thymes fragrances and products, however never has Thymes experienced so much success in a small amount of time with the release of a new fragrance until the release of Moonflower. We are thrilled to introduce Moonflower to our Thymes customers.
Unfolding its gilded petals and transforming the night, the scent of Thymes Moonflower entices the senses with the mysterious fragrance of twilight. As twilight unfolds, Thymes Moonflower envelops you in a rare transformation of dazzling beauty and luxurious fragrance. Anticipation dances and laughter swirls where gilded tones of cinnamon, clove and sugared quince embrace on fresh myrtle leaves and rich mahogany mingles with dark amber and smooth cognac. A golden shimmer lingers on your skin reflecting joyous moments, which sparkle through your night and last until dawn. Available in the following items: body lotion, body wash, eau de parfum, bath salts, candle and home fragrance mist.
We've all heard how terrible plastic bags are for the environment, yet if you're like me, you have a ton of them stuffed in a kitchen cabinet under the sink. Re-usable bags can be boring in design, hard to keep on your shoulder and hard to travel with.
Since it's attached, there's no loosing or misplacing the storage pouch; and because it's stretchy, there's no stress or frustration when trying to store your bag. There's also an added piece of special non-slip fabric stitched into the handle, so you'll never have to worry with the strap falling off your shoulder (it also creates a little bit of padding so it's comfy to carry!). And at $9.99, it's a great gift, too! Time to recycle all of those plastic bags under the sink!
especially at the great price of $5.99!
This savory collection of recipes will send your taste buds south for some home-cooked Christmas favorites. Featuring delightful dishes from southern kitchens, your holiday spread is sure to be a hit!
This festive collection of old-fashioned recipes will bring back favorite tastes from Christmases gone by. Featuring only the best dishes from old-world kitchens, your holiday spread is sure to be a hit!
This surprising collection of recipes will transport your taste buds all over the globe. Featuring tasty Christmas dishes from kitchens worldwide, your holiday spread is sure to be a hit!
This delightful collection of down-home recipes will send your taste buds to the countryside for some delicious Christmas favorites. Featuring only the best dishes from country kitchens, your holiday spread is sure to be a hit!
These great friends' gifts are available at both Ivy Ridge locations.
Few gifts are treasures for a lifetime, however our Peas in a Pod Necklace reflects what is most dear to us- our friends, family, children, and grand children. Pea pods are a symbol of the close bonds we share in those relationships. Artist Lori Strickland envelops lustrous freshwater pearl "peas" in a sterling silver pod, individually sculpted to accommodate the exact pearl shape. In addition, realistic curling tendrils and a silver leaf provide lovely organic variation unique to each pendant. Available with 2, 3, 4 or 5 pearl "peas" in your choice of green, white or charcoal gray. Each necklace includes 17-inch sterling silver snake chain with lobster-claw clasp.
We have several in stock at both locations, however special orders are available. Expect 2 to 3 weeks delivery time, so order now to assure for an unforgettable Christmas gift.
Take a moment to really commemorate Thanksgiving and give thanks for all of the wonderful blessings in our lives! As Thanksgiving approaches, what are you thankful for?
Simply post on our Facebook page on our Discussion Board (see link below) what you're most thankful for and automatically be entered to win a $25 gift certificate that may be used at either shop. Limit one entry per person. Enter now thru Saturday, November 28th.
I am thankful for my friends, family & dogs; they all give me comfort, love and endless joy. They make my life wonderful, and I am so thankful for each and everyone of them. Ok, now it's your turn! Happy Thanksgiving, Everyone! All of us at Ivy Ridge are sincerely thankful for your patronage, support & friendship. Hope everyone has a wonderful Thanksgiving!
Vera Bradley Ornaments Have Arrived!
Available in Symphony in Hue and Blue Rhapsody!
Rainy Days Bring "Me Time!"
Do not let rainy days get you down, rather take them to the next level! A rainy day can still be a productive day! How about a relaxing day? First-consider stopping by Ivy Ridge Traditions for a relaxing afternoon for shopping and then head home for me time.
Take a long relaxing bath.
Enjoy a puzzle or board games with your family.
Find a new recipe and cook something you love.
Take a little time to reconnect to a special friend.
Egg Facial: Separate an egg white from the yolk and put on your face and relax for 15 minutes. Rinse with lukewarm water. This leaves your skin refreshed, smooth and tightens your skin.
Bake a batch of cookies and give them to someone you love.
Miche Bags have arrived in in our North Wilkesboro shop and are scheduled to arrive in Elkin on Wednesday. Since we ordered we have had a tons of phone calls and requests, so finally they have arrived. Be sure to stop in early for the best selection of shells to mix and match.
First... Pick out your Miche Bag Base. There are 2 sizes to choose from Small or Large.
Then... Choose your Miche Bag Shells. Depending on your Base Bag you can choose from our wide selection of Small Shells or Big Shells. There are tons of covers to choose from so take your time!
Lastly... Accessorize! There are lots of extra straps and accessories to choose from to compliment your Miche Bag in our Accessories section!
... And now you have a Miche Bag!
Link to a great Miche Bag video to explain everything!
We will be open our regular shop hours for our Holiday Open House, 9:30 am to 5;30 pm at both shop locations. Please stop by. We will have some great door prizes as well.


I am in my second year of university now and this year really counts, I've only had one deadline and an exam so far but I have three assignments due in the early new year. I tried really hard with my first assignment to do it early but I couldn't, I get bored so easily and it isn't a module I am enjoying. I was actually sat there 10 minutes before the deadline at 12:20 in the morning still writing the assignment. Lucky for me I got it in before the deadline and I am still waiting for my grade.
2. Get a 1st at university.
I've not got any grades so far this year as I wrote above I've only had one assignment and an exam. I know I never got a 1st in my exam as it was finance and one question was 40% of the grade and I didn't answer it as I honest had no idea what it was about. 40% off my grade means the best I can do is get a low 2:1 but that would be if I got every other question correct. I am hoping to smash my other exam and assignment in finance to boost that grade up to a healthy 2:1.
3. Make sure I go Amsterdam this year.
I went, I posted about it here and I wrote about it in my last update. I miss Amsterdam so much and I'll 100% be going back next year.
As much as I wanted to meet this goal it isn't easy when you're not actively blogging. I currently have 334 GFC followers and 400 Bloglovin' followers. So 734 followers between the two sites.
You can see I've not been blogging often, I've been far too busy with university and work, any free time I get I spend with friends, family or sleeping. I'm going to try my hardest to write more this month and get back into the flow of things once I break up from university.
6. Work in partnership with a big brand.
I've had a few emails again but nothing that I could follow up with, mainly someone wanting something for nothing or it didn't suit my blog completely.
7. Get a new job!
As I wrote in my last update, I have a new job now working in a clothing store. I just can't blog about it which is a shame.
I've been spending so much the last few weeks, mainly due to Christmas but I've also been having some YOLO moments. I spend far too much money on coffee and food at university which needs to cut down and I've gone on a few nights out where I've spent a bit too much. £50 every time I go on starts to add up!
I honestly can't afford London rent prices, it hurts me just thinking about paying £700+ a month to live in someone's house.
I still find it so hard to forget.
I've really not donated enough this year, I've not helped out or anything. I really need to sort myself out and give back. I may join the dry January next month in aid of cancer.
Hola! That is pretty much as deep as it runs right now. I just have no motivation to learn Spanish anymore, I have next to no free time and if I do I just want to sleep all the time. Maybe once I break up from university for the summer. I have seen a few cheap courses on Wowcher.
I've lost a little weight but most of the year I've been at the same weight, I know 2015 will be my year for weight loss, I am finally taking it seriously and I've bought a few summer times in three sizes smaller which is my first goal then I'll buy some winter items a size smaller than that in the hope I then lose a little more.
I've worn them a few times but mainly heeled boots.
How did you do on your 14 things for 2014? Do you plan to make a list for 2015?


The cold season is here, and with it brings the dreaded sniffles and coughs. Instead of letting it get you down, why not made a handful of these homemade cough drops to see you through.
Head over to Hellonatural.co for the complete recipe!
How To Make Your Own Herbal Cough Drops!


text:
Looting of NDDC and leadership failure
in Letters, News Update
By Lanre Atere
SIR: Nigeria is blessed both in human and natural resources and should by no means have any dealings with poverty and the level of underdevelopment that has bedevilled her over the years had these resources been properly harnessed and judiciously used for the country.
Unfortunately, the perennial insincerity of purpose and quest for power its leaders, whose avarice and massive looting of our commonwealth across all strata, has put the country permanently on its knees
The levels of poverty, deplorable state of infrastructure across the country, particularly in the Niger Delta are a shame and source of anguish. The Nigerian economy is largely dependent on oil revenues from the region yet the level of poverty, gaping dearth of basic amenities and underdevelopment, is astounding.
It's instructive to note that the problem is indeed systemic, and caused by people of the region, who when saddled with the responsibility of developing their people and land, work with their local and 'foreign' cohorts to the detriment of the downtrodden.
The creation of Niger Delta Development Commission (NDDC) in 1999 was well-intended towards speedy development programmes and projects that would have a direct impact on the people of that region. Sadly, this noble intention and good purpose have become a mirage because of the mismanagement of resources allocated to the commission by these people.
The perpetrators indulge in disgraceful acts of looting that makes one wonder if they need money in the hereafter. They have turned NDDC into a conduit to deprive the region of the expected development and progress it deserves and direly needs.
The cancerous disease of corruption amongst our leaders is, sadly, incurable, considering their gluttonous desires.
How could one explain the humongous amount of money being paid out by NDDC even when the commission is under intense scrutiny for financial infractions?
The system needs a total clean up; all revelations, allegations, investigation and probes of corruption cases going on is a good omen for the country so far they are pursued to logical conclusion – without fair or favour.
The probes by the National Assembly has opened can of worms. The melodramas, belligerent attacks, propaganda and shenanigans by the major actors of the Niger Delta ministry, including Minister Godswill Akpabio, and management of the NDDC, are irresponsible and smacks of failure of leadership.
Leaders of the National Assembly must not use its 'oversight authority' to cover the acts of its members that have been indicted in the sleazy deals of the NDDC. There is no gainsaying that the NASS, to a very large extent, has not covered itself in glory. To regain its sanctity, the leadership of both chambers must ensure that there are no sacred cows.
The spate of coordinated lootings and its blatant executions across government institutions, despite President Buhari's resolute efforts in fighting corruption, is dreadful, and the good people of this country must rise up in unison to support the efforts of this government and all anti-corruption agencies to fight the menace to a standstill.
Lanre Atere, Tamworth, United Kingdom.
The impact on Companies Income Tax
Virus pandemic frustrates Ajaokuta Steel resuscitation


In a market that has a large focus on flashy colors and lighting, the aesthetic appeal could be slightly improved. However, I personally did not mind the design. My biggest concern for this unit is actually in its price. The power supply market is very competitive and I would love for Enermax to have a more aggressive pricing on this unit.
While improvements have been made, Enermax chose to stick close to the original X't design. Most of the improvements of the X't II have been emphasized on the internals rather than the aesthetics. The new design choices are all executed with a specific purpose, which is something I can appreciate.
The most impressionable aspect of the Revolution X't II throughout my review has been the attention to detail exercised in the design of the unit. Everything has been designed for a specific use and purpose with a no-nonsense attitude. This can be seen in many aspects that range all the way from the component list for its improved reliability and lifespan, all the way down to the little features like the CordGuard which can prevent accidental shutdown and potential data loss.
The Revolution X't II is designed to meet the needs of both gamers and enthusiasts alike and every part of it is built for that purpose. However, value is typically a concern for any potential buyer and at around ~$100 street price the Enermax falls a bit short in regards to value. This doesn't stop the Revolution X't II from being a great choice for any build. The Revolution X't II proved to be impressive across all categories and is sure to win over many enthusiasts with its excellent component list and impressive feature set.


It's always so inspiring to see worthy companies and products survive through history - the folks at NORKA sparkling beverages are a testament to that. NORKA began in the 1920's when sparkling beverages became more popular due to prohibition. We got to chat with founder and president, Michael Considine, about re-opening the beverage company!
Q: What's the story behind your business, and how did you get started? A: NORKA, which is Akron spelled backwards, dates back to 1924 in Akron, Ohio when Jacob Paquin founded the company during Prohibition. Their hand-crafted soft drinks were a hometown favorite with Akronites until 1962 when production ceased. 53 years later, we revived the iconic brand and relaunched with the same original great taste. The original flavors include Root Beer, Orange, Ginger Ale, and the signature Cherry-Strawberry.
Q: What makes your products unique? A: Our NORKA Sparkling Beverages are made with Pure Cane Sugar, Natural Flavors, and are both Caffeine and Gluten Free! We don't use any high fructose corn syrup or artificial flavorings, which we think makes NORKA simply taste better!
Q: What do you like about being part of the Celebrate Local family? A: We love being part of the Celebrate Local family because it represents everything that's great about Ohio! We share the same Ohio pride that comes with supporting local businesses and communities. With the CL family you get to see firsthand all the hard work and dedication that goes into making small businesses work throughout the area. We are definitely proud to be part of this incredible family and always support local, shop local, and Celebrate Local Ohio!!
Check NORKA out at our Celebrate Local stores or learn more on their website!


Cosmetic Executive Women (CEW) hosted its 24th Annual Beauty Awards, recognizing the year's most creative and innovative products. Winners were named across 47 categories, including indie, hair care, fragrance, skin care and cosmetics.
The CEW Beauty Awards are the only awards selected by industry experts who know the beauty industry best. CEW members selected 256 finalists from more than 1,000 entries representing 500 different brands. The winners were chosen from the finalists by CEW's Board of Governors and a select group of industry experts.
The 2018 CEW Beauty Awards were presented during a luncheon at the Midtown Hilton. The New York Times is a media sponsor of the event along with Firmenich, Beauty IQ, Arcade Beauty, Beauty Inc., Financo, DSM, CVS Pharmacy, KDC/One, RPG, YouCam Makeup, Care Credit, Albéa, MaCher, Nielsen, Cosmoprof North America, Rpr Marketing Communications, P&G Beauty, Dior, Avon, Groupe Clarins, Consultancy Media, KraftWorks, Suite K, PIMS, Unilever, WWD, Moblty, The NPD Group and EY.
Winners of the 2018 CEW Beauty Award will be announced in a full-page ad in The Times on May 27, 2018. The New York Times Sunday newspaper reaches 4.2 million readers.
CEW is an international organization of 9,000 individual members representing a cross section of beauty and related businesses. The composition of membership includes leading brands, indies, retailers, media and suppliers. CEW's primary purpose is to provide programs online and in person to develop careers and knowledge of the beauty industry. CEW provides opportunities to connect and gain industry knowledge through networking events, trend reports, industry newsletters, interactive workshops and industry leader talks. For more information, please visit https://www.cew.org/.
FGI's Beauty Culture: Understanding the Power of "Cult"


If you hire Liquid Entertainment as your DJ, then Jay Edwards will be your DJ. Your wedding will not be sub-contracted to another DJ or to another company. Your hire Jay, you get Jay, that's me.
At how many weddings have you performed your services?
I have DJ'd over 1200 weddings in the past 22 years in Central Florida and have worked at just about every hotel, country club, and civic center around town.
Yes, in addition to being your DJ, I also take care of all of your announcements and emceeing. Once you arrive at the venue, you get to enjoy your wedding and I make sure your night goes exactly as planned.
It takes me approximately 45 minutes to be completely set up and ready to go. However, I typically arrive an hour and a half before the start of the event to allow myself plenty of time, and you will see that noted on the contract.
What is your attire you will be wearing during your DJ service?
I typically wear a tuxedo, unless you would prefer me in a suit. It is your choice, tux, suit,or all black.
I currently have over 60,000 songs in my music library. And all of my music is radio edit, which means you don't have to worry about any cursing in the songs. I have every decade of music, plus all the latest hits, salsa, merengue, reggaeton, bachata, and more!
All of my music is digital and on a MAC computer. So, it is crystal clear and you don't have to worry about any interference or skipping.
Yes, your dinner music is typically included in your 4 hour reception. If you need cocktail hour music, I can provide that for you as well. And I can also provide the equipment and music for your ceremony as well.
Do you provide a wireless microphone for speeches?
Yes, your Best Man, Maid of Honor, and anyone else doing speeches will be provided with a wireless handheld microphone for toasts.
Yes, I have 3 complete sound systems that travel with me to every single wedding. That way, if something were to go down, your wedding doesn't miss a beat.
Can we choose from a song list?
Yes, you have complete and total control over the music at your wedding. I provide you with a music list for you to go through and circle what you like and cross off what you don't like. This way you create me a playlist, but you also create me a do not playlist. If there is a song on your do not playlist, it doesn't matter who requests it, it will not be played, no exceptions.
Will you need a tablecloth or linens for the DJ table?
Yes, typically your caterer or venue will provide a 6' table with matching lines. If they are not able to, I can provide my own at no additional cost to you.
Yes, a signed contract and deposit are required to secure your date. The deposit is typically 50% of your total. However, if you need to arrange a payment plan for the deposit, I am happy to do so.
The deposit is due when the contract is signed. Once the contract and deposit are received, then your date is secure.
The final payment isn't due until the day of your wedding. You can simply give it to your coordinator, best man, maid of honor, or parents.
Will you be available to eat a meal while DJing?
I do not require a meal at your wedding reception.
I don't take any breaks during your wedding reception.
Absolutely! You will be provided with a written contract, guaranteeing that I will be the DJ on your wedding day.
"The Knot Best of Weddings 2011"


text:
Success Stories of 2022 – AK Journals
December 23, 2022 *
Celebrate with us the countdown towards 2023 with ScienceOpen's Year in Review.
Our network has grown to include over 82 million records on ScienceOpen in the last year. We invite you to join us in celebrating by following our Year in Review campaign, which highlights some of the year's most remarkable accomplishments.
Today's success story: the Journal of Psychedelic Studies by AK Journals.
Journal of Psychedelic Studies and the AK Journals Collection
Akadémiai Kiadó, founded in 1828 by the Hungarian Academy of Sciences (HAS), is Hungary's oldest continuously operating publishing house, aiming to promote Hungarian and international science, and to effectively support information exchange amongst scientists on a global level.
Since 2019, ScienceOpen and Akadémiai Kiadó have collaborated to integrate content from various AK Journals in our network, with over 2,400 publications currently featured in the super collection.
As part of this diverse super collection, we would like to highlight the content of the Journal of Psychedelic Studies today, which aims to provide an interdisciplinary forum for the exchange of information about psychedelic substances and the biological, neurochemical, and psychological changes they induce, as well as their social implications.
The journal accepts case reports, case series, original research, meta-analyses, reviews of the literature, and book reviews of topics ranging from psychopharmacology, neurobiology and psychology to philosophy, sociology and anthropology. The journal's philosophy is based on biology and psychology, but it is also open to spiritual and religious considerations.
Explore the journal through some highlighted title below, and make sure to follow the AK Journals collection to stay up to date on new additions to this collection.
The role of Indigenous knowledges in psychedelic science
Entity encounters and the therapeutic effect of the psychedelic mystical experience
Philosophy and classic psychedelics: A review of some emerging themes
Internet method for the extraction of N,N -dimethyltryptamine from Mimosa hostilis roots: Does it really extract dimethyltryptamine?
Erratum: Internet method for the extraction of N , N -dimethyltryptamine from Mimosa hostilis roots: Does it really extract dimethyltryptamine?
Looking forward to new collaborations in 2023!
We are constantly upgrading our digital infrastructure and we are very glad to see our network expand even further in 2023, with exciting new prospective publishers joining. If you are a publisher looking for new ways to promote your content, we would love to have you on board!
Contact us today and we will gladly give you a brief demonstration of our services and how we can tailor them to your specific requirements.
Tags: AK JournalsAkadémiai KiadóOpen AccessOpen Sciencepsychedelic studiesPsychologyPublishingResearch
Previous: Previous post: Success Stories of 2022 – Sunway University Press
Next: Next post: Success Stories of 2022 – Journal of Systems Thinking


And he saith to them: Come ye after me, and I will make you to be fishers of men.
And they immediately leaving their nets, followed him.
And going on from thence, he saw other two brethren, James the son of Zebedee, and John his brother, in a ship with Zebedee their father, mending their nets: and he called them.
And they forthwith left their nets and father, and followed him. And Jesus went about all Galilee, teaching in their synagogues, and preaching the gospel of the kingdom: and healing all manner of sickness and every infirmity, among the people.
Jesus summons us to follow him not as a teacher of a pattern of the good life, but as the Christ, the Son of God.
The call of Jesus goes forth, and is at once followed by the response of obedience. The response of the disciples is an act of obedience, not a confession of faith in Jesus. How could the call immediately evoke obedience?
The story of the call of the first disciples is a stumbling-block to our natural reason, and it is no wonder that frantic attempts have been made to separate the two events. By hook or by crook a bridge must be found between them. Something must have happened in between, some psychological or historical event. Thus we get the stupid question: Surely the disciples must have known Jesus before, and that previous acquaintance explains their readiness to hear the Master's call. Unfortunately our text is ruthlessly silent on this point, and in fact it regards the immediate sequence of call and response as a matter of crucial importance. It displays not the slightest interest in the psychological reasons for a person's religious decisions. And why? For the simple reason that the cause behind the immediate following of call by response is Jesus Christ himself. It is Jesus who calls, and because it is Jesus, the disciple follows at once.
This encounter is a testimony to the absolute, direct, and unaccountable authority of Jesus. There is no need of any preliminaries, and no other consequence but obedience to the call. Because Jesus is the Christ, he has the authority to call and to demand obedience to his word. Jesus summons us to follow him not as a teacher of a pattern of the good life, but as the Christ, the Son of God. In this short text Jesus Christ and his claim are proclaimed to the world. Not a word of praise is given to the disciple for his decision for Christ. We are not expected to contemplate the disciple, but only him who calls, and his absolute authority. According to our text, there is no road to faith or discipleship, no other road - only obedience to the call of Jesus.
And what does the text inform us about the content of discipleship? Follow me, run along behind me! That is all. To follow in Christ's steps is something which is void of all content. It gives us no intelligible programme for a way of life, no goal or ideal to strive after. When we are called to follow Christ, we are summoned to an exclusive attachment to his person. The grace of his call bursts all the bonds of legalism. It is a gracious call, a gracious commandment. It transcends the difference between the law and the gospel. Christ calls the disciples follow; that is grace and commandment in one.
Dietrich Bonhoeffer, The Cost of Discipleship, English trans. R. H. Fuller, London, 1959, pp. 48-9.
It is piously believed that whoever recites this prayer 15 times a day from the feast of Saint Andrew on November 30th, until Christmas, will obtain what is asked.


text:
Holipe je cjevasti vafel proizvod. Potječe iz Norveške.

Izvori

Slastice
Norveška

ca:Neula
fr:Neules

redpajama_set_name: RedPajamaWikipedia


text:
A chacina na região da Grande Messejana, na cidade de Fortaleza, Ceará, foi uma série de homicídios ocorridos na madrugada do dia 11 a 12 de novembro de 2015. No total, onze pessoas foram assassinadas e sete ficaram feridas. Os crimes ocorreram em um período de tempo inferior a seis horas. A região envolve os bairros Messejana, Curió, São Miguel e Lagoa Redonda, localizados na Área Integrada de Segurança 4 (AIS 4). Esta série de crimes foi considerada a maior chacina da história de Fortaleza.

Todas as vítimas assassinadas eram do sexo masculino, além de que nove dos onze indivíduos mortos tinham entre 16 e 19 anos.

A polícia estabeleceu três linhas de investigação para averiguar a série de crimes. A primeira seria uma possível retaliação pela morte do policial militar Valterberg Chaves Serpa, de 32 anos, morto na noite de 11 de novembro, horas antes do início da chacina, quando reagiu a um assalto ao tentar defender a esposa, na Grande Messejana. Além dessa possibilidade, haveria também mais duas represálias: uma relacionada à morte de um traficante da região, e outra interliga à prisão de um outro traficante da Grande Messejana.

Três das onze pessoas assassinadas tinham passagem pela polícia. No entanto, os delitos eram leves e incluíam ameaça, crime de trânsito e pensão alimentícia.

Na tarde do dia 18 de novembro, no Conjunto Curió, centenas de pessoas realizaram uma manifestação em homenagem às vítimas e pedindo a diminuição da violência.

Motivações
O Ministério Público do Ceará (MPCE) indicou que os policiais militares acusados de envolvimento na Chacina da Messejana, em novembro de 2015, agiram por vingança e assassinaram friamente as 11 vítimas. Conforme o órgão, os PMs se reuniram naquela noite "com sentimento de vingança e de justiça" pela morte do policial Valtermberg Chaves Serpa, que foi morto durante uma tentativa de assalto no Bairro Lagoa Redonda.

Após investigação realizada pela Delegacia de Assuntos Internos (DAI), da Controladoria Geral de Disciplina (CGD), o MPCE ingressou com denúncia contra 45 policiais, sendo dois oficiais e 43 praças. A justiça aceitou a denúncia de 44 agentes, deixando fora um dos oficiais. Os promotores de justiça que investigam o caso anunciaram que vão recorrer da decisão, por ter provas suficientes da omissão do tenente-coronel que exercia o cargo de supervisor de policiamento naquela noite.

Os policiais envolvidos foram denunciados por homicídios duplamente qualificados, tentativas de homicídio e tortura. Eles estão presos desde a quarta-feira (31 de Agosto de 2016), no 5º Batalhão da Polícia Militar, sede do Comando de Policiamento da Capital (CPC), no Centro.

Segundo o procurador-geral de Justiça, Plácido Rios, as provas colhidas apontaram que as pessoas foram assassinadas, em sua maioria, com tiros na cabeça. As vítimas não estavam armadas e não tiveram oportunidades de defesa.

"Algumas vítimas se ajoelharam para não morrer, mas ainda assim não foram poupadas. Foi uma noite tenebrosa, que muito maculou o estado do Ceará, a sociedade, e uma instituição pela qual temos a imensa respeitabilidade, que foi forjada na coragem, na altivez de seus membros, que é a PM do Ceará", detalhou Plácido Rios.

Investigação
A investigação, que seguia em segredo de justiça, apontou que os policiais se reuniram através de comunicações telefônicas entre si, inclusive com uso de aplicativos de mensagens de celulares. O MPCE informou que foram utilizados carros de polícia e veículos descaracterizados, com placas adulteradas, que foram conduzidos por policiais que estavam de serviço, de folga e alguns homens encapuzados.

Durante a investigação, foram ouvidas 240 pessoas, entre policiais, familiares das vítimas e outras testemunhas. O Ministério Público ressaltou, porém, que os 45 policiais denunciados foram identificados através de provas técnicas, como imagens de circuito de segurança, fotossensores, extratos telefônicos, GPS de viaturas, escutas telefônicas e localização de aparelhos celulares via Estação Rádio Base (ERB).

"O relatório de análise das provas técnicas foi muito específico. Cada um dos 45 denunciados tem sua relação de provas, comprovando de participação de forma ativa ou passiva nas mortes. Ou eles estavam participando ou se omitiram de forma deliberadamente das condutas dos policiais, que poderiam impedir, se não por inteiro, pelo menos amenizado", informou.

Os 11 assassinatos ocorreram entre a noite do dia 11 de novembro e a madrugada do dia 12, nos bairros Curió, Alagadiço Novo, Messejana e São Miguel. Além das mortes, outras sete pessoas ficaram feridas.

Em um dos casos de maior violência, homens encapuzados em sete veículos atiraram contra um grupo de jovens que estavam sentados na Rua Lucimar de Oliveira, no bairro Curió, por volta das 0h26, do dia 12. Dois deles morreram no local, outros dois morreram no hospital. Somente uma das vítimas sobreviveu.

De acordo com a Secretaria da Segurança Pública e Defesa Sociail (SSPDS), das vítimas fatais, apenas dois respondiam por crimes de menor gravidade, sendo um por acidente de trânsito e o outro por falta de pagamento de pensão alimentícia. Quatro pessoas entre os mortos são adolescentes com menos 18 anos; outros três têm entre 18 e 19 anos de idade. Um outrO homem tinha 41 anos e foi morto dentro de um comércio.

A primeira audiência do processo sobre o caso foi marcada para o próximo dia 7 de outubro, às 9h, na 1ª Vara do Júri do Fórum Clóvis Beviláqua, em Fortaleza. Na ocasião, serão ouvidas as sete vítimas sobreviventes no caso.

Envolvidos
A Associação dos Profissionais de Segurança (APS), que representa os policiais que tiveram a prisão decretada, alegou inocência dos servidores da segurança pública investigados. O advogado da associação, Cícero Roberto, afirmou que ainda não adotou medidas judiciais em defesa dos policiais porque ainda não teve acesso ao texto da acusação.

Ainda segundo o advogado, parte dos policiais acusados alega que estava de folga no dia dos crimes, outros defendem que estavam em uma região da cidade afastada do bairro onde ocorreu a chacina, e um terceiro grupo afirma que esteve presente no local dos homicídios, mas não teve participação nos crimes. Os policiais continuarão preso à disposição da justiça.

Veja abaixo o nome e idade dos mortos na chacina.

Situação dos réus
Podem ir a júri popular*

1- Antônio Flauber de Melo Brazil

2- Antônio Carlos Matos Marçal

3- Clênio Silva da Costa

4- Francisco Hélder de Sousa Filho

5- Igor Bethoven Sousa de Oliveira

6- José Oliveira do Nascimento

7- José Wagner Silva de Sousa

8- Maria Bárbara Moreira

9- Kelvin Kessel Bandeira de Paula

10- Samuel Araújo de Aquino

11- Marcílio Costa de Andrade

12- Eliézio Ferreira Maia Júnior,

13- Marcus Vinícius Sousa da Costa,

14- Antônio José de Abreu Vidal Filho

15- Wellington Veras Chagas

16- Ideraldo Amâncio

17- Daniel Campos Menezes

18- Luciano Breno Freitas Martiniano

19- Daniel Fernandes Da Silva

20- Farlley Diogo de Oliveira

21- Francisco Fabrício Albuquerque de Sousa

22- Francisco Flávio de Sousa

23- Gaudioso Menezes de Mattos Brito Goes

24- Gerson Vitoriano Carvalho

25- Gildácio Alves da Silva

26- José Haroldo Uchoa Gomes

27- Josiel Silveira Gomes

28- Luís Fernando de Freitas Barroso

29- Renner Diego Marques

30- Ronaldo da Silva Lima

31- Thiago Veríssimo Andrade Batista de Moraes

32- Thiago Aurélio de Souza Augusto

33- Fábio Oliveira dos Santos

34- Francinildo José da Silva Nascimento

*Todos os réus entraram com recurso para reverter a decisão. O processo está parado até julgamento da ação.

Não devem ir a julgamento*

1- Carlos Roberto Mesquita de Oliveira

2- Francisco Fagner de Farias Mesquita

3- Antônio Juciêudo Holanda Lopes

4- Fábio Paulo Sales Gabriel

5- Francisco Girleudo Silveira Ferreira

6- Hugo dos Santos Guedes

7- Valdemir Izaquiel Silva

8- Jean Rodrigues de Melo

9- Ismael Alves Torres

10- Anderson Kesley Ribeiro da Silva

*Os juízes não consideraram que havia provas suficientes contra os dez PMs. O Ministério Público recorreu. O processo está parado até julgamento da ação.

Ver também
 Chacina das Cajazeiras

Massacres no Ceará
2015 no Ceará
Assassinatos de adolescentes no Brasil
Chacinas policiais no Brasil
Assassinados na década de 2010 no Brasil
Assassinados na América do Sul em 2015
Messejana (Fortaleza)


Apple is apparently testing a new dual-processor (and dual mouse!) PowerBook G4 in a secret location in the Washington, DC, area. Based on this near-actual-size photo, the new PowerBook is a closer relative to the older, titanium-body PowerBook than the new, aluminum-body Powerbooks. According to our source, this new machine weighs exactly twice as much as the single-processor machines. No explanation was offered for the penguin in one corner of the photo.


2014: a year of fundraising and frustration!
Charity status in the post say lawyers.
We're picking up the pace on starting our new venue and have engaged lawyers Morton Fraser who are now working hard on our behalf to set up a new charitable company, a SCIO.


text:
Personen
Josiah Wedgwood (1730–1795), een Britse pottenbakker en ondernemer
Josiah Wedgwood (1769–1843), een Britse zakenman, politicus en zoon van Josiah Wedgwood (1730–1795)
Josiah Wedgwood (1795–1880), een Britse zakenman en zoon van Josiah Wedgwood (1769–1843)
Josiah Wedgwood (1872–1943), een Britse edelman en politicus
Josiah Wedgwood (1899–1968), een Britse zakenman
Josiah Wedgwood (1950–2009), een Amerikaanse arts

Overig
Josiah Wedgwood (schip, 1944), een stoomschip

Zie ook
Wedgwood, een Brits bedrijf


Johannesburg - Not too long ago the country's TV darling, Minnie Dlamini, became Mrs Jones.
Later this week, fans and followers will get to experience her journey in her three-part docuseries Becoming Mrs Jones.
Towards the end of last year, Dlamini announced her engagement to Quinton Jones, sending waves through social media.
Noticing how the nation keenly followed the new development in the previously sheltered relationship of two years, Dlamini decided to take charge.
"I didn't want to hide the fact that I was engaged or take off my ring when out in public," Dlamini told City Press this week.
So she, together with her production company Beautiful Day Productions, decided to tell her story her way.
"I wanted to decide what the narrative is myself, give the people what they want while making sure that it's an authentic story," she said on the phone.
In a first for local television, Becoming Mrs Jones is a deeply personal crafted series that gives Dlamini's fans a glimpse into the celebration and emotions that the couple and their families experience while planning and celebrating the union.
In the first episode, viewers get to know Dlamini through the eyes of those closest to her and experience the process behind planning the wedding as well as preparations for the traditional and western ceremonies.
"I'm so proud of this series! From being the executive producer, to the high-quality resources we invested in the production and the incredibly talented creatives and crew we collaborated with, the result is this exquisite body of work that is an honest and visual representation of my heart during the most beautiful and intimate time of my life, and I'm so thrilled to be able to share it with you," she added.
Asked how she convinced her very private husband to participate in the recording of the show, she said: "He was entirely against it but in the end understood why it was important to me.
Dlamini says Jones (who also works in television – they met seven years ago while both working at Urban Brew Studios) is very camera and media shy.
"He made it clear that we're not doing this again," she says laughing.
About whether the energetic Dlamini ever felt that the cameras were intrusive, she says: "I gave a clear brief and synopsis.
Still, she says, it was the most stressful experience of her life – like for any bride.
Dlamini says she has never spoken as much about her husband whom she wed in a star-studded ceremony in Cape Town last month, as she has this week.
About the most important part of any wedding, both her wedding gowns were designed by Gert Johan Coetzee.
"We had Swarovski laser-cut leaves imported from Austria. My whole dress was encrusted in the crystals.
"I gave Gert the brief to look like a fairy-tale princess, as it has always been my dream to look like a Disney princess. He knocked it out the park," she said.
Episode 1 #BecomingMrsJones ??Friday 13 October 19:30pm Exclusively on #VuzuAmp @vuzutv ???? SA's First Wedding Documentary Special!


text:
/*!
 * \file
 * \brief Program State Query tests.
 *//*--------------------------------------------------------------------*/

#include "es31fProgramStateQueryTests.hpp"
#include "es31fInfoLogQueryShared.hpp"
#include "glsStateQueryUtil.hpp"
#include "gluRenderContext.hpp"
#include "gluCallLogWrapper.hpp"
#include "gluContextInfo.hpp"
#include "gluObjectWrapper.hpp"
#include "gluShaderProgram.hpp"
#include "glwFunctions.hpp"
#include "glwEnums.hpp"
#include "tcuStringTemplate.hpp"

namespace deqp
{

using std::string;
using std::map;

namespace gles31
{
namespace Functional
{
namespace
{

using namespace gls::StateQueryUtil;

static const char* getVerifierSuffix (QueryType type)
{
	switch (type)
	{
		case QUERY_PROGRAM_INTEGER_VEC3:
		case QUERY_PROGRAM_INTEGER:
			return "get_programiv";

		default:
			DE_ASSERT(DE_FALSE);
			return DE_NULL;
	}
}

class GeometryShaderCase : public TestCase
{
public:
						GeometryShaderCase		(Context& context, QueryType verifier, const char* name, const char* desc);
	IterateResult		iterate					(void);

private:
	const QueryType		m_verifier;
};

GeometryShaderCase::GeometryShaderCase (Context& context, QueryType verifier, const char* name, const char* desc)
	: TestCase		(context, name, desc)
	, m_verifier	(verifier)
{
}

GeometryShaderCase::IterateResult GeometryShaderCase::iterate (void)
{
	const bool isES32 = glu::contextSupports(m_context.getRenderContext().getType(), glu::ApiType::es(3, 2));

	if (!isES32 && !m_context.getContextInfo().isExtensionSupported("GL_EXT_geometry_shader"))
		TCU_THROW(NotSupportedError, "Geometry shader tests require GL_EXT_geometry_shader extension or an OpenGL ES 3.2 or higher context.");

	static const char* const	s_vtxFragTemplate	=	"${GLSL_VERSION_STRING}\n"
														"void main()\n"
														"{\n"
														"}\n";

	static const char* const	s_geometryTemplate1	=	"${GLSL_VERSION_STRING}\n"
														"${GLSL_EXTENSION_STRING}\n"
														"layout(triangles) in;"
														"layout(triangle_strip, max_vertices = 3) out;\n"
														"void main()\n"
														"{\n"
														"   EndPrimitive();\n"
														"}\n";

	static const char* const	s_geometryTemplate2	=	"${GLSL_VERSION_STRING}\n"
														"${GLSL_EXTENSION_STRING}\n"
														"layout(points) in;"
														"layout(line_strip, max_vertices = 5) out;\n"
														"void main()\n"
														"{\n"
														"   EndPrimitive();\n"
														"}\n";

	static const char* const	s_geometryTemplate3	=	"${GLSL_VERSION_STRING}\n"
														"${GLSL_EXTENSION_STRING}\n"
														"layout(points) in;"
														"layout(points, max_vertices = 50) out;\n"
														"void main()\n"
														"{\n"
														"   EndPrimitive();\n"
														"}\n";

	map<string, string>			args;
	args["GLSL_VERSION_STRING"]							= isES32 ? getGLSLVersionDeclaration(glu::GLSL_VERSION_320_ES) : getGLSLVersionDeclaration(glu::GLSL_VERSION_310_ES);
	args["GLSL_EXTENSION_STRING"]						= isES32 ? "" : "#extension GL_EXT_geometry_shader : enable";

	glu::CallLogWrapper			gl						(m_context.getRenderContext().getFunctions(), m_testCtx.getLog());
	tcu::ResultCollector		result					(m_testCtx.getLog(), " // ERROR: ");

	gl.enableLogging(true);

	{
		const tcu::ScopedLogSection	section		(m_testCtx.getLog(), "Layout", "triangles in, triangle strip out, 3 vertices");
		glu::ShaderProgram			program		(m_context.getRenderContext(), glu::ProgramSources()
			<< glu::VertexSource(tcu::StringTemplate(s_vtxFragTemplate).specialize(args))
			<< glu::FragmentSource(tcu::StringTemplate(s_vtxFragTemplate).specialize(args))
			<< glu::GeometrySource(tcu::StringTemplate(s_geometryTemplate1).specialize(args)));

		TCU_CHECK_MSG(program.isOk(), "Compile failed");

		m_testCtx.getLog() << program;

		verifyStateProgramInteger(result, gl, program.getProgram(), GL_GEOMETRY_VERTICES_OUT, 3, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_GEOMETRY_INPUT_TYPE, GL_TRIANGLES, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_GEOMETRY_OUTPUT_TYPE, GL_TRIANGLE_STRIP, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_GEOMETRY_SHADER_INVOCATIONS, 1, m_verifier);
	}

	{
		const tcu::ScopedLogSection	section		(m_testCtx.getLog(), "Layout", "points in, line strip out, 5 vertices");
		glu::ShaderProgram			program		(m_context.getRenderContext(), glu::ProgramSources()
			<< glu::VertexSource(tcu::StringTemplate(s_vtxFragTemplate).specialize(args))
			<< glu::FragmentSource(tcu::StringTemplate(s_vtxFragTemplate).specialize(args))
			<< glu::GeometrySource(tcu::StringTemplate(s_geometryTemplate2).specialize(args)));

		TCU_CHECK_MSG(program.isOk(), "Compile failed");

		m_testCtx.getLog() << program;

		verifyStateProgramInteger(result, gl, program.getProgram(), GL_GEOMETRY_VERTICES_OUT, 5, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_GEOMETRY_INPUT_TYPE, GL_POINTS, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_GEOMETRY_OUTPUT_TYPE, GL_LINE_STRIP, m_verifier);
	}

	{
		const tcu::ScopedLogSection	section		(m_testCtx.getLog(), "Layout", "points in, points out, 50 vertices");
		glu::ShaderProgram			program		(m_context.getRenderContext(), glu::ProgramSources()
			<< glu::VertexSource(tcu::StringTemplate(s_vtxFragTemplate).specialize(args))
			<< glu::FragmentSource(tcu::StringTemplate(s_vtxFragTemplate).specialize(args))
			<< glu::GeometrySource(tcu::StringTemplate(s_geometryTemplate3).specialize(args)));

		TCU_CHECK_MSG(program.isOk(), "Compile failed");

		m_testCtx.getLog() << program;

		verifyStateProgramInteger(result, gl, program.getProgram(), GL_GEOMETRY_VERTICES_OUT, 50, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_GEOMETRY_INPUT_TYPE, GL_POINTS, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_GEOMETRY_OUTPUT_TYPE, GL_POINTS, m_verifier);
	}

	result.setTestContextResult(m_testCtx);
	return STOP;
}

class TessellationShaderCase : public TestCase
{
public:
						TessellationShaderCase		(Context& context, QueryType verifier, const char* name, const char* desc);
	IterateResult		iterate					(void);

private:
	const QueryType		m_verifier;
};

TessellationShaderCase::TessellationShaderCase (Context& context, QueryType verifier, const char* name, const char* desc)
	: TestCase		(context, name, desc)
	, m_verifier	(verifier)
{
}

TessellationShaderCase::IterateResult TessellationShaderCase::iterate (void)
{
	const bool isES32 = glu::contextSupports(m_context.getRenderContext().getType(), glu::ApiType::es(3, 2));

	if (!isES32 && !m_context.getContextInfo().isExtensionSupported("GL_EXT_tessellation_shader"))
		TCU_THROW(NotSupportedError, "Tessellation shader tests require GL_EXT_tessellation_shader extension or an OpenGL ES 3.2 or higher context.");

	static const char* const	s_vtxFragTemplate	=	"${GLSL_VERSION_STRING}\n"
														"void main()\n"
														"{\n"
														"}\n";

	static const char* const	s_tessCtrlTemplate1	=	"${GLSL_VERSION_STRING}\n"
														"${GLSL_EXTENSION_STRING}\n"
														"layout(vertices = 3) out;\n"
														"void main()\n"
														"{\n"
														"}\n";

	static const char* const	s_tessEvalTemplate1	=	"${GLSL_VERSION_STRING}\n"
														"${GLSL_EXTENSION_STRING}\n"
														"layout(triangles, equal_spacing, cw) in;\n"
														"void main()\n"
														"{\n"
														"}\n";

	static const char* const	s_tessCtrlTemplate2	=	"${GLSL_VERSION_STRING}\n"
														"${GLSL_EXTENSION_STRING}\n"
														"layout(vertices = 5) out;\n"
														"void main()\n"
														"{\n"
														"}\n";

	static const char* const	s_tessEvalTemplate2	=	"${GLSL_VERSION_STRING}\n"
														"${GLSL_EXTENSION_STRING}\n"
														"layout(quads, fractional_even_spacing, ccw) in;\n"
														"void main()\n"
														"{\n"
														"}\n";

	static const char* const	s_tessEvalTemplate3	=	"${GLSL_VERSION_STRING}\n"
														"${GLSL_EXTENSION_STRING}\n"
														"layout(isolines, fractional_odd_spacing, ccw, point_mode) in;\n"
														"void main()\n"
														"{\n"
														"}\n";

	map<string, string>			args;
	args["GLSL_VERSION_STRING"]							= isES32 ? getGLSLVersionDeclaration(glu::GLSL_VERSION_320_ES) : getGLSLVersionDeclaration(glu::GLSL_VERSION_310_ES);
	args["GLSL_EXTENSION_STRING"]						= isES32 ? "" : "#extension GL_EXT_tessellation_shader : enable";

	glu::CallLogWrapper			gl						(m_context.getRenderContext().getFunctions(), m_testCtx.getLog());
	tcu::ResultCollector		result					(m_testCtx.getLog(), " // ERROR: ");

	gl.enableLogging(true);

	{
		const tcu::ScopedLogSection	section		(m_testCtx.getLog(), "Query State", "3 vertices, triangles, equal_spacing, cw");
		glu::ShaderProgram			program		(m_context.getRenderContext(), glu::ProgramSources()
			<< glu::VertexSource(tcu::StringTemplate(s_vtxFragTemplate).specialize(args))
			<< glu::FragmentSource(tcu::StringTemplate(s_vtxFragTemplate).specialize(args))
			<< glu::TessellationControlSource(tcu::StringTemplate(s_tessCtrlTemplate1).specialize(args))
			<< glu::TessellationEvaluationSource(tcu::StringTemplate(s_tessEvalTemplate1).specialize(args)));

		TCU_CHECK_MSG(program.isOk(), "Compile failed");

		m_testCtx.getLog() << program;

		verifyStateProgramInteger(result, gl, program.getProgram(), GL_TESS_CONTROL_OUTPUT_VERTICES, 3, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_TESS_GEN_MODE, GL_TRIANGLES, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_TESS_GEN_SPACING, GL_EQUAL, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_TESS_GEN_VERTEX_ORDER, GL_CW, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_TESS_GEN_POINT_MODE, GL_FALSE, m_verifier);
	}

	{
		const tcu::ScopedLogSection	section		(m_testCtx.getLog(), "Query State", "5 vertices, quads, fractional_even_spacing, ccw");
		glu::ShaderProgram			program		(m_context.getRenderContext(), glu::ProgramSources()
			<< glu::VertexSource(tcu::StringTemplate(s_vtxFragTemplate).specialize(args))
			<< glu::FragmentSource(tcu::StringTemplate(s_vtxFragTemplate).specialize(args))
			<< glu::TessellationControlSource(tcu::StringTemplate(s_tessCtrlTemplate2).specialize(args))
			<< glu::TessellationEvaluationSource(tcu::StringTemplate(s_tessEvalTemplate2).specialize(args)));

		TCU_CHECK_MSG(program.isOk(), "Compile failed");

		m_testCtx.getLog() << program;

		verifyStateProgramInteger(result, gl, program.getProgram(), GL_TESS_CONTROL_OUTPUT_VERTICES, 5, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_TESS_GEN_MODE, GL_QUADS, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_TESS_GEN_SPACING, GL_FRACTIONAL_EVEN, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_TESS_GEN_VERTEX_ORDER, GL_CCW, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_TESS_GEN_POINT_MODE, GL_FALSE, m_verifier);
	}

	{
		const tcu::ScopedLogSection	section		(m_testCtx.getLog(), "Query State", "5 vertices, isolines, fractional_odd_spacing, ccw, point_mode");
		glu::ShaderProgram			program		(m_context.getRenderContext(), glu::ProgramSources()
			<< glu::VertexSource(tcu::StringTemplate(s_vtxFragTemplate).specialize(args))
			<< glu::FragmentSource(tcu::StringTemplate(s_vtxFragTemplate).specialize(args))
			<< glu::TessellationControlSource(tcu::StringTemplate(s_tessCtrlTemplate2).specialize(args))
			<< glu::TessellationEvaluationSource(tcu::StringTemplate(s_tessEvalTemplate3).specialize(args)));

		TCU_CHECK_MSG(program.isOk(), "Compile failed");

		m_testCtx.getLog() << program;

		verifyStateProgramInteger(result, gl, program.getProgram(), GL_TESS_CONTROL_OUTPUT_VERTICES, 5, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_TESS_GEN_MODE, GL_ISOLINES, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_TESS_GEN_SPACING, GL_FRACTIONAL_ODD, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_TESS_GEN_VERTEX_ORDER, GL_CCW, m_verifier);
		verifyStateProgramInteger(result, gl, program.getProgram(), GL_TESS_GEN_POINT_MODE, GL_TRUE, m_verifier);
	}

	result.setTestContextResult(m_testCtx);
	return STOP;
}

class ProgramSeparableCase : public TestCase
{
public:
						ProgramSeparableCase	(Context& context, QueryType verifier, const char* name, const char* desc);
	IterateResult		iterate					(void);

private:
	const QueryType		m_verifier;
};

ProgramSeparableCase::ProgramSeparableCase (Context& context, QueryType verifier, const char* name, const char* desc)
	: TestCase		(context, name, desc)
	, m_verifier	(verifier)
{
}

ProgramSeparableCase::IterateResult ProgramSeparableCase::iterate (void)
{
	const bool					isES32			=	glu::contextSupports(m_context.getRenderContext().getType(), glu::ApiType::es(3, 2));

	const string				vtxTemplate	=	string(isES32 ? getGLSLVersionDeclaration(glu::GLSL_VERSION_320_ES) : getGLSLVersionDeclaration(glu::GLSL_VERSION_310_ES)) + "\n"
												"out highp vec4 v_color;\n"
												"void main()\n"
												"{\n"
												"	gl_Position = vec4(float(gl_VertexID) * 0.5, float(gl_VertexID+1) * 0.5, 0.0, 1.0);\n"
												"	v_color = vec4(float(gl_VertexID), 1.0, 0.0, 1.0);\n"
												"}\n";
	const string				fragTemplate	=	string(isES32 ? getGLSLVersionDeclaration(glu::GLSL_VERSION_320_ES) : getGLSLVersionDeclaration(glu::GLSL_VERSION_310_ES)) + "\n"
												"in highp vec4 v_color;\n"
												"layout(location=0) out highp vec4 o_color;\n"
												"void main()\n"
												"{\n"
												"	o_color = v_color;\n"
												"}\n";

	glu::CallLogWrapper			gl				(m_context.getRenderContext().getFunctions(), m_testCtx.getLog());
	tcu::ResultCollector		result			(m_testCtx.getLog(), " // ERROR: ");
	glu::Shader					vtxShader		(m_context.getRenderContext(), glu::SHADERTYPE_VERTEX);
	glu::Shader					frgShader		(m_context.getRenderContext(), glu::SHADERTYPE_FRAGMENT);

	static const char* const	s_vtxSource		= vtxTemplate.c_str();
	static const char* const	s_fragSource	= fragTemplate.c_str();

	vtxShader.setSources(1, &s_vtxSource, DE_NULL);
	frgShader.setSources(1, &s_fragSource, DE_NULL);

	vtxShader.compile();
	frgShader.compile();

	{
		const tcu::ScopedLogSection section(m_testCtx.getLog(), "VtxShader", "Vertex shader");
		m_testCtx.getLog() << vtxShader;
	}

	{
		const tcu::ScopedLogSection section(m_testCtx.getLog(), "FrgShader", "Fragment shader");
		m_testCtx.getLog() << frgShader;
	}

	TCU_CHECK_MSG(vtxShader.getCompileStatus() && frgShader.getCompileStatus(), "failed to build shaders");

	gl.enableLogging(true);

	{
		const tcu::ScopedLogSection	section	(m_testCtx.getLog(), "Initial", "Initial");
		glu::Program				program	(m_context.getRenderContext());

		verifyStateProgramInteger(result, gl, program.getProgram(), GL_PROGRAM_SEPARABLE, 0, m_verifier);
	}

	{
		const tcu::ScopedLogSection section		(m_testCtx.getLog(), "SetFalse", "SetFalse");
		glu::Program				program		(m_context.getRenderContext());
		int							linkStatus	= 0;

		gl.glAttachShader(program.getProgram(), vtxShader.getShader());
		gl.glAttachShader(program.getProgram(), frgShader.getShader());
		gl.glProgramParameteri(program.getProgram(), GL_PROGRAM_SEPARABLE, GL_FALSE);
		gl.glLinkProgram(program.getProgram());
		GLU_EXPECT_NO_ERROR(gl.glGetError(), "setup program");

		gl.glGetProgramiv(program.getProgram(), GL_LINK_STATUS, &linkStatus);
		GLU_EXPECT_NO_ERROR(gl.glGetError(), "query link status");

		TCU_CHECK_MSG(linkStatus == GL_TRUE, "failed to link program");

		verifyStateProgramInteger(result, gl, program.getProgram(), GL_PROGRAM_SEPARABLE, 0, m_verifier);
	}

	{
		const tcu::ScopedLogSection section		(m_testCtx.getLog(), "SetTrue", "SetTrue");
		glu::Program				program		(m_context.getRenderContext());
		int							linkStatus	= 0;

		gl.glAttachShader(program.getProgram(), vtxShader.getShader());
		gl.glAttachShader(program.getProgram(), frgShader.getShader());
		gl.glProgramParameteri(program.getProgram(), GL_PROGRAM_SEPARABLE, GL_TRUE);
		gl.glLinkProgram(program.getProgram());
		GLU_EXPECT_NO_ERROR(gl.glGetError(), "setup program");

		gl.glGetProgramiv(program.getProgram(), GL_LINK_STATUS, &linkStatus);
		GLU_EXPECT_NO_ERROR(gl.glGetError(), "query link status");

		TCU_CHECK_MSG(linkStatus == GL_TRUE, "failed to link program");

		verifyStateProgramInteger(result, gl, program.getProgram(), GL_PROGRAM_SEPARABLE, GL_TRUE, m_verifier);
	}

	result.setTestContextResult(m_testCtx);
	return STOP;
}

class ComputeWorkGroupSizeCase : public TestCase
{
public:
						ComputeWorkGroupSizeCase	(Context& context, QueryType verifier, const char* name, const char* desc);
	IterateResult		iterate						(void);

private:
	const QueryType		m_verifier;
};

ComputeWorkGroupSizeCase::ComputeWorkGroupSizeCase (Context& context, QueryType verifier, const char* name, const char* desc)
	: TestCase		(context, name, desc)
	, m_verifier	(verifier)
{
}

ComputeWorkGroupSizeCase::IterateResult ComputeWorkGroupSizeCase::iterate (void)
{
	const bool					isES32				=	glu::contextSupports(m_context.getRenderContext().getType(), glu::ApiType::es(3, 2));

	static const char* const	s_computeTemplate1D =	"${GLSL_VERSION_STRING}\n"
														"layout (local_size_x = 3) in;\n"
														"layout(binding = 0) buffer Output\n"
														"{\n"
														"	highp float val;\n"
														"} sb_out;\n"
														"\n"
														"void main (void)\n"
														"{\n"
														"	sb_out.val = 1.0;\n"
														"}\n";
	static const char* const	s_computeTemplate2D =	"${GLSL_VERSION_STRING}\n"
														"layout (local_size_x = 3, local_size_y = 2) in;\n"
														"layout(binding = 0) buffer Output\n"
														"{\n"
														"	highp float val;\n"
														"} sb_out;\n"
														"\n"
														"void main (void)\n"
														"{\n"
														"	sb_out.val = 1.0;\n"
														"}\n";
	static const char* const	s_computeTemplate3D =	"${GLSL_VERSION_STRING}\n"
														"layout (local_size_x = 3, local_size_y = 2, local_size_z = 4) in;\n"
														"layout(binding = 0) buffer Output\n"
														"{\n"
														"	highp float val;\n"
														"} sb_out;\n"
														"\n"
														"void main (void)\n"
														"{\n"
														"	sb_out.val = 1.0;\n"
														"}\n";

	glu::CallLogWrapper			gl						(m_context.getRenderContext().getFunctions(), m_testCtx.getLog());
	tcu::ResultCollector		result					(m_testCtx.getLog(), " // ERROR: ");

	map<string, string>			args;
	args["GLSL_VERSION_STRING"]							= isES32 ? getGLSLVersionDeclaration(glu::GLSL_VERSION_320_ES) : getGLSLVersionDeclaration(glu::GLSL_VERSION_310_ES);

	gl.enableLogging(true);

	{
		const tcu::ScopedLogSection section		(m_testCtx.getLog(), "OneDimensional", "1D");
		glu::ShaderProgram			program		(m_context.getRenderContext(), glu::ProgramSources() << glu::ComputeSource(tcu::StringTemplate(s_computeTemplate1D).specialize(args)));

		m_testCtx.getLog() << program;

		TCU_CHECK_MSG(program.isOk(), "failed to build program");

		verifyStateProgramIntegerVec3(result, gl, program.getProgram(), GL_COMPUTE_WORK_GROUP_SIZE, tcu::IVec3(3, 1, 1), m_verifier);
	}

	{
		const tcu::ScopedLogSection section		(m_testCtx.getLog(), "TwoDimensional", "2D");
		glu::ShaderProgram			program		(m_context.getRenderContext(), glu::ProgramSources() << glu::ComputeSource(tcu::StringTemplate(s_computeTemplate2D).specialize(args)));

		m_testCtx.getLog() << program;

		TCU_CHECK_MSG(program.isOk(), "failed to build program");

		verifyStateProgramIntegerVec3(result, gl, program.getProgram(), GL_COMPUTE_WORK_GROUP_SIZE, tcu::IVec3(3, 2, 1), m_verifier);
	}

	{
		const tcu::ScopedLogSection section		(m_testCtx.getLog(), "TreeDimensional", "3D");
		glu::ShaderProgram			program		(m_context.getRenderContext(), glu::ProgramSources() << glu::ComputeSource(tcu::StringTemplate(s_computeTemplate3D).specialize(args)));

		m_testCtx.getLog() << program;

		TCU_CHECK_MSG(program.isOk(), "failed to build program");

		verifyStateProgramIntegerVec3(result, gl, program.getProgram(), GL_COMPUTE_WORK_GROUP_SIZE, tcu::IVec3(3, 2, 4), m_verifier);
	}

	result.setTestContextResult(m_testCtx);
	return STOP;
}

class ActiveAtomicCounterBuffersCase : public TestCase
{
public:
						ActiveAtomicCounterBuffersCase	(Context& context, QueryType verifier, const char* name, const char* desc);
	IterateResult		iterate							(void);

private:
	const QueryType		m_verifier;
};

ActiveAtomicCounterBuffersCase::ActiveAtomicCounterBuffersCase (Context& context, QueryType verifier, const char* name, const char* desc)
	: TestCase		(context, name, desc)
	, m_verifier	(verifier)
{
}

ActiveAtomicCounterBuffersCase::IterateResult ActiveAtomicCounterBuffersCase::iterate (void)
{
	const bool					isES32				=	glu::contextSupports(m_context.getRenderContext().getType(), glu::ApiType::es(3, 2));

	static const char* const	s_computeTemplate0	=	"${GLSL_VERSION_STRING}\n"
														"layout (local_size_x = 3) in;\n"
														"layout(binding = 0) buffer Output\n"
														"{\n"
														"	highp float val;\n"
														"} sb_out;\n"
														"\n"
														"void main (void)\n"
														"{\n"
														"	sb_out.val = 1.0;\n"
														"}\n";
	static const char* const	s_computeTemplate1	=	"${GLSL_VERSION_STRING}\n"
														"layout (local_size_x = 3) in;\n"
														"layout(binding = 0) uniform highp atomic_uint u_counters[2];\n"
														"layout(binding = 0) buffer Output\n"
														"{\n"
														"	highp float val;\n"
														"} sb_out;\n"
														"\n"
														"void main (void)\n"
														"{\n"
														"	sb_out.val = float(atomicCounterIncrement(u_counters[0])) + float(atomicCounterIncrement(u_counters[1]));\n"
														"}\n";

	map<string, string>			args;
	args["GLSL_VERSION_STRING"]							= isES32 ? getGLSLVersionDeclaration(glu::GLSL_VERSION_320_ES) : getGLSLVersionDeclaration(glu::GLSL_VERSION_310_ES);

	glu::CallLogWrapper			gl						(m_context.getRenderContext().getFunctions(), m_testCtx.getLog());
	tcu::ResultCollector		result					(m_testCtx.getLog(), " // ERROR: ");

	gl.enableLogging(true);

	{
		const tcu::ScopedLogSection	section		(m_testCtx.getLog(), "Initial", "Initial");
		glu::Program				program		(m_context.getRenderContext());

		verifyStateProgramInteger(result, gl, program.getProgram(), GL_ACTIVE_ATOMIC_COUNTER_BUFFERS, 0, m_verifier);
	}

	{
		const tcu::ScopedLogSection	section		(m_testCtx.getLog(), "NoBuffers", "No buffers");
		glu::ShaderProgram			program		(m_context.getRenderContext(), glu::ProgramSources() << glu::ComputeSource(tcu::StringTemplate(s_computeTemplate0).specialize(args)));

		m_testCtx.getLog() << program;

		TCU_CHECK_MSG(program.isOk(), "failed to build program");

		verifyStateProgramInteger(result, gl, program.getProgram(), GL_ACTIVE_ATOMIC_COUNTER_BUFFERS, 0, m_verifier);
	}

	{
		const tcu::ScopedLogSection	section		(m_testCtx.getLog(), "OneBuffer", "One buffer");
		glu::ShaderProgram			program		(m_context.getRenderContext(), glu::ProgramSources() << glu::ComputeSource(tcu::StringTemplate(s_computeTemplate1).specialize(args)));

		m_testCtx.getLog() << program;

		TCU_CHECK_MSG(program.isOk(), "failed to build program");

		verifyStateProgramInteger(result, gl, program.getProgram(), GL_ACTIVE_ATOMIC_COUNTER_BUFFERS, 1, m_verifier);
	}

	result.setTestContextResult(m_testCtx);
	return STOP;
}

class ProgramLogCase : public TestCase
{
public:
	enum BuildErrorType
	{
		BUILDERROR_VERTEX_FRAGMENT = 0,
		BUILDERROR_COMPUTE,
		BUILDERROR_GEOMETRY,
		BUILDERROR_TESSELLATION,
	};

							ProgramLogCase		(Context& ctx, const char* name, const char* desc, BuildErrorType errorType);

private:
	void					init				(void);
	IterateResult			iterate				(void);
	glu::ProgramSources		getProgramSources	(void) const;

	const BuildErrorType	m_buildErrorType;
};

ProgramLogCase::ProgramLogCase (Context& ctx, const char* name, const char* desc, BuildErrorType errorType)
	: TestCase			(ctx, name, desc)
	, m_buildErrorType	(errorType)
{
}

void ProgramLogCase::init (void)
{
	switch (m_buildErrorType)
	{
		case BUILDERROR_VERTEX_FRAGMENT:
		case BUILDERROR_COMPUTE:
			break;

		case BUILDERROR_GEOMETRY:
			if (!contextSupports(m_context.getRenderContext().getType(), glu::ApiType::es(3, 2)) && !m_context.getContextInfo().isExtensionSupported("GL_EXT_geometry_shader"))
				TCU_THROW(NotSupportedError, "Test requires GL_EXT_geometry_shader extension");
			break;

		case BUILDERROR_TESSELLATION:
			if (!contextSupports(m_context.getRenderContext().getType(), glu::ApiType::es(3, 2)) && !m_context.getContextInfo().isExtensionSupported("GL_EXT_tessellation_shader"))
				TCU_THROW(NotSupportedError, "Test requires GL_EXT_tessellation_shader extension");
			break;

		default:
			DE_ASSERT(false);
			break;
	}
}

ProgramLogCase::IterateResult ProgramLogCase::iterate (void)
{
	using gls::StateQueryUtil::StateQueryMemoryWriteGuard;

	tcu::ResultCollector					result		(m_testCtx.getLog());
	glu::CallLogWrapper						gl			(m_context.getRenderContext().getFunctions(), m_testCtx.getLog());
	glu::ShaderProgram						program		(m_context.getRenderContext(), getProgramSources());
	StateQueryMemoryWriteGuard<glw::GLint>	logLen;

	gl.enableLogging(true);

	m_testCtx.getLog() << tcu::TestLog::Message << "Trying to link a broken program." << tcu::TestLog::EndMessage;

	gl.glGetProgramiv(program.getProgram(), GL_INFO_LOG_LENGTH, &logLen);
	logLen.verifyValidity(result);

	if (logLen.verifyValidity(result))
		verifyInfoLogQuery(result, gl, logLen, program.getProgram(), &glu::CallLogWrapper::glGetProgramInfoLog, "glGetProgramInfoLog");

	result.setTestContextResult(m_testCtx);
	return STOP;
}

glu::ProgramSources ProgramLogCase::getProgramSources (void) const
{
	const char* const	vertexTemplate1 =	"${GLSL_VERSION_STRING}\n"
											"in highp vec4 a_pos;\n"
											"uniform highp vec4 u_uniform;\n"
											"void main()\n"
											"{\n"
											"	gl_Position = a_pos + u_uniform;\n"
											"}\n";
	const char* const	vertexTemplate2 =	"${GLSL_VERSION_STRING}\n"
											"in highp vec4 a_pos;\n"
											"void main()\n"
											"{\n"
											"	gl_Position = a_pos;\n"
											"}\n";
	const char* const	fragmentTemplate1 =	"${GLSL_VERSION_STRING}\n"
											"in highp vec4 v_missingVar;\n"
											"uniform highp int u_uniform;\n"
											"layout(location = 0) out mediump vec4 fragColor;\n"
											"void main()\n"
											"{\n"
											"	fragColor = v_missingVar + vec4(float(u_uniform));\n"
											"}\n";

	const char* const	fragmentTemplate2 =	"${GLSL_VERSION_STRING}\n"
											"layout(location = 0) out mediump vec4 fragColor;\n"
											"void main()\n"
											"{\n"
											"	fragColor = vec4(1.0);\n"
											"}\n";
	const char* const	computeTemplate1 =	"${GLSL_VERSION_STRING}\n"
											"layout (binding = 0) buffer IOBuffer { highp float buf_var; };\n"
											"uniform highp vec4 u_uniform;\n"
											"void main()\n"
											"{\n"
											"	buf_var = u_uniform.x;\n"
											"}\n";
	const char* const	geometryTemplate1 =	"${GLSL_VERSION_STRING}\n"
											"${GLSL_GEOMETRY_EXT_STRING}\n"
											"layout(triangles) in;\n"
											"layout(max_vertices=1, points) out;\n"
											"in highp vec4 v_missingVar[];\n"
											"uniform highp int u_uniform;\n"
											"void main()\n"
											"{\n"
											"	gl_Position = gl_in[0].gl_Position + v_missingVar[2] + vec4(float(u_uniform));\n"
											"	EmitVertex();\n"
											"}\n";
	const char* const	tessCtrlTemplate1 =	"${GLSL_VERSION_STRING}\n"
											"${GLSL_TESSELLATION_EXT_STRING}\n"
											"layout(vertices=2) out;"
											"patch out highp vec2 vp_var;\n"
											"void main()\n"
											"{\n"
											"	gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position\n"
											"	gl_TessLevelOuter[0] = 0.8;\n"
											"	gl_TessLevelOuter[1] = 0.8;\n"
											"	if (gl_InvocationID == 0)\n"
											"		vp_var = gl_in[gl_InvocationID].gl_Position.xy;\n"
											"}\n";
	const char* const	tessEvalTemplate1 =	"${GLSL_VERSION_STRING}\n"
											"${GLSL_TESSELLATION_EXT_STRING}\n"
											"layout(isolines) in;"
											"in highp float vp_var[];\n"
											"void main()\n"
											"{\n"
											"	gl_Position = gl_in[gl_InvocationID].gl_Position + vec4(vp_var[1]);\n"
											"}\n";

	const bool			isES32				=	glu::contextSupports(m_context.getRenderContext().getType(), glu::ApiType::es(3, 2));
	map<string, string>	args;
	args["GLSL_VERSION_STRING"]				= isES32 ? getGLSLVersionDeclaration(glu::GLSL_VERSION_320_ES) : getGLSLVersionDeclaration(glu::GLSL_VERSION_310_ES);
	args["GLSL_GEOMETRY_EXT_STRING"]		= isES32 ? "" : "#extension GL_EXT_geometry_shader : require";
	args["GLSL_TESSELLATION_EXT_STRING"]	= isES32 ? "" : "#extension GL_EXT_tessellation_shader : require";

	switch (m_buildErrorType)
	{
		case BUILDERROR_VERTEX_FRAGMENT:
			return glu::ProgramSources()
					<< glu::VertexSource(tcu::StringTemplate(vertexTemplate1).specialize(args))
					<< glu::FragmentSource(tcu::StringTemplate(fragmentTemplate1).specialize(args));

		case BUILDERROR_COMPUTE:
			return glu::ProgramSources()
					<< glu::ComputeSource(tcu::StringTemplate(computeTemplate1).specialize(args));

		case BUILDERROR_GEOMETRY:
			return glu::ProgramSources()
					<< glu::VertexSource(tcu::StringTemplate(vertexTemplate1).specialize(args))
					<< glu::GeometrySource(tcu::StringTemplate(geometryTemplate1).specialize(args))
					<< glu::FragmentSource(tcu::StringTemplate(fragmentTemplate2).specialize(args));

		case BUILDERROR_TESSELLATION:
			return glu::ProgramSources()
					<< glu::VertexSource(tcu::StringTemplate(vertexTemplate2).specialize(args))
					<< glu::TessellationControlSource(tcu::StringTemplate(tessCtrlTemplate1).specialize(args))
					<< glu::TessellationEvaluationSource(tcu::StringTemplate(tessEvalTemplate1).specialize(args))
					<< glu::FragmentSource(tcu::StringTemplate(fragmentTemplate2).specialize(args));

		default:
			DE_ASSERT(false);
			return glu::ProgramSources();
	}
}

} // anonymous

ProgramStateQueryTests::ProgramStateQueryTests (Context& context)
	: TestCaseGroup(context, "program", "Program State Query tests")
{
}

ProgramStateQueryTests::~ProgramStateQueryTests (void)
{
}

void ProgramStateQueryTests::init (void)
{
	static const QueryType intVerifiers[] =
	{
		QUERY_PROGRAM_INTEGER,
	};
	static const QueryType intVec3Verifiers[] =
	{
		QUERY_PROGRAM_INTEGER_VEC3,
	};

#define FOR_EACH_INT_VERIFIER(X) \
	for (int verifierNdx = 0; verifierNdx < DE_LENGTH_OF_ARRAY(intVerifiers); ++verifierNdx)	\
	{																							\
		const char* verifierSuffix = getVerifierSuffix(intVerifiers[verifierNdx]);				\
		const QueryType verifier = intVerifiers[verifierNdx];									\
		this->addChild(X);																		\
	}

#define FOR_EACH_VEC_VERIFIER(X) \
	for (int verifierNdx = 0; verifierNdx < DE_LENGTH_OF_ARRAY(intVec3Verifiers); ++verifierNdx)	\
	{																								\
		const char* verifierSuffix = getVerifierSuffix(intVec3Verifiers[verifierNdx]);				\
		const QueryType verifier = intVec3Verifiers[verifierNdx];									\
		this->addChild(X);																			\
	}

	FOR_EACH_INT_VERIFIER(new ProgramSeparableCase				(m_context, verifier, (std::string("program_separable_") + verifierSuffix).c_str(),				"Test PROGRAM_SEPARABLE"));
	FOR_EACH_VEC_VERIFIER(new ComputeWorkGroupSizeCase			(m_context, verifier, (std::string("compute_work_group_size_") + verifierSuffix).c_str(),		"Test COMPUTE_WORK_GROUP_SIZE"));
	FOR_EACH_INT_VERIFIER(new ActiveAtomicCounterBuffersCase	(m_context, verifier, (std::string("active_atomic_counter_buffers_") + verifierSuffix).c_str(),	"Test ACTIVE_ATOMIC_COUNTER_BUFFERS"));
	FOR_EACH_INT_VERIFIER(new GeometryShaderCase				(m_context, verifier, (std::string("geometry_shader_state_") + verifierSuffix).c_str(),			"Test Geometry Shader State"));
	FOR_EACH_INT_VERIFIER(new TessellationShaderCase			(m_context, verifier, (std::string("tesselation_shader_state_") + verifierSuffix).c_str(),		"Test Tesselation Shader State"));

#undef FOR_EACH_INT_VERIFIER
#undef FOR_EACH_VEC_VERIFIER

	// program info log tests
	// \note, there exists similar tests in gles3 module. However, the gles31 could use a different
	//        shader compiler with different INFO_LOG bugs.
	{
		static const struct
		{
			const char*						caseName;
			ProgramLogCase::BuildErrorType	caseType;
		} shaderTypes[] =
		{
			{ "info_log_vertex_fragment_link_fail",		ProgramLogCase::BUILDERROR_VERTEX_FRAGMENT	},
			{ "info_log_compute_link_fail",				ProgramLogCase::BUILDERROR_COMPUTE			},
			{ "info_log_geometry_link_fail",			ProgramLogCase::BUILDERROR_GEOMETRY			},
			{ "info_log_tessellation_link_fail",		ProgramLogCase::BUILDERROR_TESSELLATION		},
		};

		for (int ndx = 0; ndx < DE_LENGTH_OF_ARRAY(shaderTypes); ++ndx)
			addChild(new ProgramLogCase(m_context, shaderTypes[ndx].caseName, "", shaderTypes[ndx].caseType));
	}
}

} // Functional
} // gles31
} // deqp

redpajama_set_name: RedPajamaGithub


Flower Design Earrings, 14K White Gold w/ Diamonds and Pink & Blue Sapphires. 00 ctw / SI2-I1 / H-I. Size, 17 x 22 mm. Total Weight, 13.7 grams. Offered for your consideration is a previously owned pair of earrings made in white gold, diamonds and pink & blue sapphires.
The earrings feature flower design filled with colored sapphires, accented with lots of diamonds around them. The earrings are in great cosmetic condition but there are also few signs of visible wear and tear, as well. There aren't any major physical damages visible anywhere on the gold and on any of the stones.
The gold, however, does show visible signs of discoloration from rhodium plating wearing off, around the edge and on the sides. They will be very hard to detect especially when the earrings are worn. Please see photos for more accurate assessment of item's condition. Please don't hesitate to ask! We are happy to help!
Remember to save us on your FAVORITE SELLERS List! YOUR FEEDBACK IS VERY IMPORTANT TO US! Please take short time to tell us how we are doing!
We will do our very best to have your questions answered promptly. We may be able to come up with a solution that will please both of us! PLEASE BE FAMILIAR WITH YOUR COUNTRY'S IMPORT REGULATIONS AND COSTS.
Experience the finer things in life! Our team has an average tenure with the company of over 12 years. We have completed the following GIA classes & labs. Identifying Ruby, Sapphire & Emerald Lab. The item "Flower Design Earrings, 14K White Gold with Diamonds and Pink & Blue Sapphires" is in sale since Wednesday, July 11, 2018.
This item is in the category "Jewelry & Watches\Fine Jewelry\Fine Earrings\Gemstone". The seller is "watchandjewelryexchange" and is located in Vienna, Virginia.


The mountain has seen a drastic change in coverage over the past week but the snowpack is still holding strong. Although there are definitely some bare spots up on the hill, there's still plenty of snow left to for your skiing and riding pleasure. Spring is one of the best times to be here with hero corn snow and warmer temps making for some awesome late season ski days. With some sun in the forecast for today and temps reaching 50 degrees at the base, we're looking forward to another great spring day in the high peaks of Western Maine.
Today's forecast is calling for partly sunny skies with a light to moderate northwest wind. Temps will range from 47-51° at the base and 34-38° at the summit. The extended forecast is calling for similar temps this weekend with light rain/mix tomorrow night and into Saturday.
Groomers worked on 13 trails overnight including Sluice, King's Landing, Tote Road, and Candyside.
SuperQuad and DRC East are scheduled for 8:30am.
Lift tickets are $49 for all ages. Buy online in advance for tickets as low as $29 on select days through May 5th.
Be sure to follow us on Twitter @SugarloafSnow for the latest updates on trail and lift status throughout the day.
The Beach Cam will be offline while we renovate the Widowmaker this summer.
*Lifts will run on this schedule as long as conditions allow, but may close earlier if needed.


text:
Yearbook of the United Nations
Yearbook of the United Nations 2002
The Yearbook of the United Nations provides an indispensable A-Z reference on the United Nations. This new and fully updated edition covers all the major activities undertaken in the United Nations system in 2002. A must-have title for library reference collections, the Yearbook of the United Nations is widely consulted by diplomats, government officials, scholars, journalists and others with a serious interest in international affairs.
https://doi.org/10.18356/6fbbe208-en
Click to download PDF - 10.02MB
The Europe and the Mediterranean region registered important milestones in resolving its many conflict situations and restoring peace and stability in 2002, particularly in the countries of the former Yugoslavia. Croatia and the Federal Republic of Yugoslavia (FRY), which successfully concluded their bilateral negotiations relating to the dispute over the Prevlaka peninsula, signed the 10 December Protocol on the Interim Regime along the Southern Border between the Two States. That development allowed the United Nations Mission of Observers in Prevlaka, which had monitored the demilitarization of the peninsula and neighbouring territories since 1992, to hand over responsibility for the area to the local authorities of both countries and to withdraw in December. The United Nations also successfully concluded its mission in Bosnia and Herzegovina, one of the most complex and difficult UN police peacekeeping missions, which ended on 31 December and was to be succeeded by the follow-on European Union Police Mission from 1 January 2003.
https://doi.org/10.18356/06c68280-en
http://instance.metastore.ingenta.com/content/component/06c68280-en


It is normal to need advice once in a while. The below article will provide methods of dealing with your children.
TIP! Although it is important to spend time with your kids, it is also important to take time for yourself. This helps you be yourself and a great parent too.
Every parent needs to take some time off from taking care of their children. A trusted family member or friend could watch your kids so that you could get a break for a couple of hours. Parents become really stressed, which creates tension, if they don't get a break away from their kids.
If children live in your home, avoid smoking in the house. It is actually a good idea to quit smoking altogether, especially if you have children. The dangers of inhaling secondhand smoke are the same as those of smoking. Children who are exposed to second-hand smoke experience more risk in developing respiratory problems, such as asthma, bronchitis or pneumonia.
TIP! Transitions are hard on preschoolers. Abruptly switching activities can lead to melt downs for young kids who need time to transition between tasks.
When you are a parent, it's really important to take care of yourself. Take some time off for yourself, even if you have a lot of things to do. Not only will your mood improve, but your kids will appreciate it, too.
If you want to avoid getting your children too cranky and bored, then periodically make travel stops. The longer distance that you travel, the more stops you should make. Rather then dash to your destination, taking a leisurely route will often result in a more peaceful trip. To give your children a chance to use some of their excess energy, stop at parks or restaurants that have play areas.
Children do not have directions; every parent may need guidance. At some point during parenthood, it is inevitable that you will encounter a situation that leaves you at a loss for words. This article contains a number of fantastic bringing up a child tips that will help you be the best parent you can be. Make sure you adapt these tips to your situation.


These two ready-to-decorate, solid-resin dinosaur figurines are waiting to be painted by a dino lover! 6 pots of colorful, non-toxic paint and an easy-clean paintbrush are all included. Figures measure approximately 2″ and 4″ inches high.