Fundraisers say Sen. Kamala Harris Kamala Devi HarrisEx-Obama campaign manager: Sanders can't beat Trump Pollster says Trump's approval rating in 2020 will be impacted by Dem nominee 20 Dems demand no more money for ICE agents, Trump wall MORE (D-Calif.) is the preferred 2020 presidential candidate in Hollywood, according to the Los Angeles Times.
The California lawmaker's fans in the entertainment industry mecca reportedly include director J.J. Abrams, television producer Shonda Rhimes, actress Elizabeth Banks and music giant Quincy Jones.
"I think she's really trying to corral this community as her donor base," Hannah Linkenhoker, the senior political strategist at ICM Partners and co-founder of the L.A. Women's Collective donor group, told the Times.
Harris, who lives in Los Angeles, has counted on the support of many of Hollywood's biggest names since her first campaign in 2003.
Over the last decade, she has collected more than $1.7 million from the entertainment industry, a Times analysis found.
Jane Fonda, Leonardo DiCaprio, Barbra Streisand, Halle Barre, Reese Witherspoon, Ben Affleck, Kerry Washington, Charlize Theron and a long roster of studio executives reportedly gave money to Harris years before she declared her 2020 candidacy.
Donna Bojarsky, a longtime Democratic political consultant in Los Angeles, told the Times that the entertainment industry is more committed than usual to defeating President Trump Donald John TrumpHouse Dems demand Barr cancel 'inappropriate' press conference on Mueller report DOJ plans to release 'lightly redacted' version of Mueller report Thursday: WaPo Nadler accuses Barr of 'unprecedented steps' to 'spin' Mueller report MORE in 2020.
Other 2020 candidates have held events in Hollywood, but have not received the same level of support as Harris, according to the Times.
Sens. Elizabeth Warren Elizabeth Ann WarrenOvernight Defense: Reports detail effect of transgender military ban | Watchdog auditing 8 billion submarine program | Warren questions top general on climate change Booker calls for sweeping voting rights reforms Warren praises Ocasio-Cortez in Time 100 MORE (D-Mass.) and Bernie Sanders Bernard (Bernie) SandersOvernight Health Care: DOJ charges doctors over illegal opioid prescriptions | Cummings accuses GOP of obstructing drug pricing probe | Sanders courts Republican voters with 'Medicare for All' | Dems probe funding of anti-abortion group Ex-Obama campaign manager: Sanders can't beat Trump Booker calls for sweeping voting rights reforms MORE (I-Vt.) have reportedly been noticeably absent from seeking donations from Hollywood.


text:
Hoeven: Senate passes fifteen Indian bills
(Image: United States Senate Committee on Indian Affairs YouTube)
Eight bills will be sent to the President to be signed into law including the Chairman's Indian Community Economic Enhancement Act of 2020
United State Senate Committee on Indian Affairs
Senator John Hoeven (R-ND), Chairman of the Senate Committee on Indian Affairs, today released the following statement after the Senate passed fifteen Indian bills. Eight of the fifteen bills, including a bill introduced by Hoeven, will proceed to the President to be signed into law.
"These fifteen bills passed by the Senate aim to boost economic development in Indian country; further protect the exporting of sacred Native items and cultural objects; improve delivery of health care services to American Indians and Alaska Natives, especially Native Veterans; and establishing Indian water rights agreements," said Hoeven. "With a strong bipartisan effort, eight of these bills will move to the President for signature into law, including my bill, the Indian Community Economic Enhancement Act of 2020."
The following 15 bills were passed by the Senate:
S. 212, the Indian Community Economic Enhancement (ICEE) Act of 2020;
S. 279, the Tribal School Federal Insurance Parity Act;
S. 1207, the Navajo Utah Water Rights Settlement Act of 2019;
S. 1875, the Aamodt Litigation Settlement Completion Act of 2019;
S. 2165, the Safeguard Tribal Objects of Patrimony (STOP) Act of 2020;
· S. 2365, the Health Care Access for Urban Native Veterans Act of 2019;
S. 2716, A bill to amend the Grand Ronde Reservation Act, and for other purposes;
S. 3019, the Montana Water Rights Protection Act;
S. 3099, the Southeast Alaska Regional Health Consortium Land Transfer Act of 2019;
S. 3100, the Alaska Native Tribal Health Consortium Land Transfer Act of 2020;
S. 3948, A bill to amend the Alyce Spotted Bear and Walter Soboleff Commission on Native Children Act to extend the deadline for a report by the Alyce Spotted Bear and Walter Soboleff Commission on Native Children, and for other purposes;
S. 4079, A bill to authorize the Seminole Tribe of Florida to lease or transfer certain land, and for other purposes;
S. 4556, A bill to authorize the Secretary of Health and Human Services, acting through the Director of the Indian Health Service, to acquire private land to facilitate access to the Desert Sage Youth Wellness Center in Hemet, California, and for other purposes;
H.R. 6237, the Proper and Reimbursed Care (PRC) for Native Veterans Act; and
H.R. 6535, A bill to deem an urban Indian organization and employees thereof to be a part of the Public Health Service for the purposes of certain claims for personal injury, and for other purposes.
S. 212, S. 279, S. 1207, S. 1875, S. 2365, S. 3019, H.R. 6237, and H.R. 6535 will all be sent to the President to be signed into law. S. 2165, S. 2716, S. 3099, S. 3100, S. 3948, S. 4079, and S. 4556, were sent to the House of Representatives. With the passage of these 15 bills, the Senate has now passed 32 Committee bills with 20 Indian bills going to the President in the 116th Congress.
(Image: United States Senate Committee on Indian Affairs)

redpajama_set_name: RedPajamaCommonCrawl


In Piedmont, Agriturismo with outbuildings and blueberry orchard.
The property is located in the Oasi Zegna, a natural area in the province of Biella, which is only one hour away from Alagna Valsesia (Monte Rosa), Lake Maggiore, Lake Orta and half an hour away from the main fashion outlets around Biella.
The property overlooks the valley, is in an isolated and peaceful location, but within easy reach of facilities. It is exposed towards South, at 900 m a.s.l. and it boasts stunning views. Located in a very temperate climate zone, during the day, even in winter, it enjoys a very mild and dry weather.
The ski slopes of Bielmonte are 11 km away. In the property there are numerous paths leading to 1600 m, where you can go on foot, riding a horse and by mountain bike.
The nearest train station is 15 km away; Milan-Malpensa airport and Turin-Caselle airport are about one hour and fifteen minutes away.
The property is composed of a main building (used for residential purpose) with a part used as B&B, barn/warehouse and a small house for the alpacas.
The main building has a surface of 160 square meters on two levels, composed as follows.
- Ground floor: entrance room, bathroom designed for use by disabled people, pantry, double living room and kitchen.
- A wooden staircase leads to the first floor, where there are two bedrooms, a walk-in closet, a bathroom and an office on a mezzanine floor with stunning views of the valley.
The B&B has a surface of 65 sqm and is made up of three double bedrooms with en suite bathrooms. Every bedroom opens onto a garden/sunbathing area and is equipped with independent heating.
The barn/warehouse has a surface of 60 sqm and reach a maximum height of 3.65 meters.
The wooden small house for the alpacas has a surface of 24 sqm.
The property in rustic style is newly bult (2012) and is in excellent condition. It features parquet floor, stone and wood-like porcelain stoneware floor, wooden staircase and rebuilt stone and glulam walls. Moreover, it has triple glazed windows in the house, double glazed windows in the B&B, reinforced door and chimney for the fireplace. The main building is assigned to the energy performance class A with a very low energy consumption.
In the property there is a professional alpaca breeding with approx. 80 animals.
The main building is in the middle of 3.75 hectares of land, almost completely fenced, with grazing land, centuries-old chestnut trees and blueberry orchard with about 400 plants in production.
The garden around the main building is fenced-in and perfectly maintained.
The property is currently being used as Agriturismo with alpacas breeding, cultivation of blueberries, greenhouse vegetable production and chestnut harvesting, but it is ideal for residential use.
It is possible to purchase all the alpacas or only some of them with training course and settling-in assistance. (The price of the alpacas is to be discussed).


text:
President Donald Trump "Not Happy" With Crowd's "Send Her Back" Chants
Olivia De Havilland Slams FX Over 'Feud' Motion To Strike
By Dominic Patten
Dominic Patten
Senior Editor, Legal & TV Critic
@DeadlineDominic
More Stories By Dominic
'Marvel's Agents Of S.H.I.E.L.D' Celebrates Legacy & Upcoming Conclusion With Hall H Debut, Season 6 Teaser – Comic-Con
Comic-Con Marketing: Fox Animation Dominates This Year's Brand Blitz; Amazon Prime Captures Square-Footage Crown
Deadline's Comic-Con Podcast: Marvel Surprises, 'Watchmen' Activation, 'Star Trek' Toys & More
REX/Shutterstock/FX
One day after voting for this year's Emmys concluded, FX made a court move to strike Olivia de Havilland's multi-claim Feud lawsuit. But the two-time Oscar winner isn't having any of it.
"Defendants' Motion has strengthened Miss de Havilland's resolve to stand up to big Hollywood and fight for her rights, and the rights of all others in such circumstances," de Havilland's lawyer Suzelle Smith said Tuesday after FX filed a motion in Los Angeles Superior Court to gut the third amended complaint of the actor's lawsuit originally filed in June.
"If Defendants' view of the law were to prevail, then the California statute giving a celebrity the exclusive right to control and profit from her name and identity, and protect her reputation, would be meaningless," Smith added. She also called the motion "weak" and throwing "mud on a great lady."
'Feud' Lawsuit Feud Escalates As Fox Refutes Olivia de Havilland's Legal Move Against Ryan Murphy & FX
On June 30, a day before her 101st birthday, de Havilland filed suit seeking a jury trial, sweeping damages and an injunction, claiming the portrayal of her by Catherine Zeta-Jones on the FX anthology series executive produced by Ryan Murphy damaged her "professional reputation for integrity, honesty, generosity, self-sacrifice and dignity."
Because of her advanced age, the Paris-based de Havilland wants the matter handled quickly in the courts, and has filed paperwork accordingly.
Mud throwing aside, FX today cast its grounds for a strike in constitutional terms. "By alleging that Feud casts her in a false light and violates her right of publicity, Olivia de Havilland's meritless lawsuit seeks to impinge on Defendants' First Amendment right to create expressive works about matters of public interest," reads the dismissal motion (read it here). Added FX's lawyers from Mitchell Silberberg & Knupp Llp: "The Court should grant Defendants' motion to strike in its entirety and award fees. "
Of course, FX's team went to the heart of the real-life drama that fuels the series starring Jessica Lange and Susan Sarandon.
"In dramatizing the infamous rivalry between iconic actors Bette Davis and Joan Crawford and how that rivalry played out during the shooting of their 1962 film What Ever Happened to Baby Jane? ("Baby Jane"), Feud is a social commentary on Hollywood's history of sexism, misogyny, and media manipulation, issues that still plague Hollywood today," the cable network asserts in the filing.
Counters De Havilland's attorney in her response to the motion: "Defendants' own Motion establishes the legal elements of falsity, reckless disregard for the truth, and a conscious decision not to obtain Miss de Havilland's consent while financially benefitting from her name and reputation."
Feud is nominated for 18 nominations at this year's Emmy Awards; it has 10 noms at the Primetime Emmy Awards which are set for September 17.
Smith said De Havilland will respond to the motion with an opposition filing September 15, with a hearing on the matter to come September 29, 12 days after the Emmy winners are announced.
Related 'American Horror Story: Cult': Ryan Murphy On Lena Dunham As Valerie Solanas


text:
Family receives damages after Wedding and Honeymoon from Hell
Holiday food poisoning
A Plymouth bride whose dream wedding and honeymoon in the Dominican Republic were wrecked by a severe food poisoning outbreak has won a court case for a five figure sum for damages against First Choice Holidays.
Sheena Hallgarth from Plymouth had booked an all-inclusive holiday for herself, her fiancé and 13 other members of her family staying at the Club Viva Dominicus Palace Resort in the Dominican Republic in May 2002.
One by one, members of her wedding party began to fall ill with gastric symptoms and even Sheena fell ill before her wedding day.
After four years the case went to trial at Birmingham County Court and lasted for three days the family were then finally awarded damages for the illness they suffered and the ruined holiday of a lifetime. Birmingham County Court took into account not only the fact that Mrs Hallgarth's wedding and honeymoon had been ruined, but also that she is likely to suffer permanent side effects as a result of contracting the illness four years ago.
Sheena Hallgarth commented: "My family and I had spent months planning and preparing everything, but what was supposed to be a dream wedding and holiday of a lifetime turned into the most horrible nightmare."
Illness abroad
"On the day of my wedding myself and my family felt ill and could not enjoy the day and all we wanted to do was get back to our hotel room.
"In addition to everybody being ill, the ceremony took place on an area of the beach which had not been cornered off and tourists were hovering around watching the wedding and even using the seats which were placed for my family to watch me getting married."
Sheena added, "All I think about when I look back at our wedding is that it was a complete disaster from beginning to end. I have no happy memories of my wedding and I only wish that I had chosen to get married somewhere else and my family and myself would not have suffered the illness."
Illness abroad specialists
Suki Chhokar, a Partner from Irwin Mitchell solicitors, who specialises in legal cases involving overseas accidents and illness, said: "The majority of the family were taken ill complained of vomiting, diarrhoea and severe stomach cramps and although many victims are now fully recovered, a number of our clients, were so badly affected that they are still continuing to suffer from symptoms. It is appalling to think that what should have been such a memorable day was ruined by the hotels negligence to ensure that sufficient hygiene standards were in place."
Do you have a claim? If you or someone you know has been affected by holiday illness, our solicitors may be able to help. Visit our accidents and illness abroad section.
16.01.2020 - Manchester Child Sex Exploitation Report: Lawyers Urge Lessons Must Be Learned From 'Terrible Revelations'
13.01.2020 - Former Caravan Production Manager From Hull Appeals To Colleagues After Asbestos Cancer Diagnosis
08.01.2020 - Lawyers Call For Tighter Silica Safety Standards After Securing Settlement For Former Stone Mason
19.12.2019 - Grandson Of Hull Woman Launches Appeal For Information Following Her Death From Asbestos Cancer
18.12.2019 - Former Painter And Decorator Issues Appeal To Workmates Following Diagnosis Of Asbestos Cancer
18.12.2019 - Whirlpool Washing Machine Recall: Specialist Lawyers Speak Of Concerns Over Fire Risk


Thunderstorms/Wind. High 58F. SSW winds at 10 to 20 mph, increasing to 20 to 30 mph.
Showers Early. Low 27F. N winds at 10 to 20 mph, decreasing to 5 to 10 mph.
Mostly Sunny/Wind. High 54F. Winds SSW at 20 to 30 mph.


text:
What Is the Relevance of Generally Accepted Accounting ...
How Is Financial Accounting Important to a Company?
Why Is Accounting Often Referred to As the Language of Business?
by John Freedman
What Is the Relevance of Generally Accepted Accounting Principles in Today's Business Environment?
The Advantages of Managerial Accounting
How to Change to Accounting Format in Excel
How Is Managerial Accounting Used in Business Ownership?
What Is the Purpose of an Accounting Department Within an Organization?
Frequently, accounting is described as the language of business. Other than being hard to understand for those who don't speak the language, accounting gets this description because accounting transactions underlie the process of business activity. In effect, the accounting entries tell a story of the life of a business. A small-business owner can utilize accounting information to learn more about the finances of his own business and his competitors.
Accounting is used to accumulate the business activity of a business. Through the operation of double-entry accounting, every time a business changes levels of assets, liabilities, expenses, revenues or equity, this transaction is recorded. Because this process is systematic and governed by generally accepted accounting principles (GAAP), all of this activity can be aggregated at the end of the accounting period and organized in a meaningful matter. For example, a small-business owner does not need to try to determine a system for displaying the health of his company. Instead, the framework of accounting tells the owner that you can show the health of a company through the balance sheet.
Because accounting information is recorded using a strict set of rules, an owner is able to compare this information from period to period and use these comparisons to analyze her business. For example, a restaurateur may have a feeling that business is seasonal at her restaurant, but might not be sure as to the degree of fluctuation between busy and slow seasons. Because sales are recorded in the same manner all year, by graphing sales each month, the owner can make informed, data-driven judgments as to the extent that the business is seasonal.
By having a standard formulation for financial statements and generally accepted rules on how to create these statements, users of financial statements can analyze companies and be confident that the presentation is comparable. Small-business owners benefit from this quality of accounting information, as bankers and other external observers can be confident that if the financial statements are presented in conformity with GAAP, they can rely on the analysis that they have performed to compare the business to other investment opportunities or benchmarks.
Accounting information is commonly used to communicate the qualities of a business to others. For large businesses, you may hear a company described by its revenue growth, stock price or earnings per share. From these metrics, potential investors make a judgment as to whether the company is a good investment. For small businesses, the idea is similar. A successful small business may be described as having consistent revenue or a strong asset base. These descriptors come from the company's underlying accounting information.
Principles of Financial Accounting; Kermit P. Larson
John Freedman's articles specialize in management and financial responsibility. He is a certified public accountant, graduated summa cum laude with a Bachelor of Arts in business administration and has been writing since 1998. His career includes public company auditing and work with the campus recruiting team for his alma mater.
Why Is it So Important That Payroll Is Precise?
What Is the Difference Between Accounting Profit and Taxable Income?
Key Roles & Functions of Financial Accounting Within an Organization
How the SEC & FASB Impacted the Ethical Behavior Within the Accounting Industry


DOUGHERTY CO., GA (WALB) - UPDATE: Henry Lavant, 64, was found Saturday morning safe and unharmed.
According to the Dougherty County Police Department, he was found on the 1400 Block of 8 Mile Road around 9: 20 a.m.
He is being checked out by EMS and is back with his family.
The Dougherty County Police Department is looking for a missing man and officers are hoping you can help them find him.
According to Detective David Flick with DCP, Henry Lavant, 64, suffers from Alzheimer's.
Flick said Lavant lives in the 5400 block of Dyson Court just off of 8 Mile Road.
Lavant was last seen on Dyson Court around 11 a.m. on Friday, according to Flick. He said Lavant was walking in the area just off of 8 Mile Road wearing a gray shirt, charcoal colored shorts, white socks with brown shoes and a black hat with an 'E' on it.
Flick described Lavant as 5′8″ at about 220 pounds.
Anybody who has seen or believes they may have seen Lavant is urged to call the Dougherty County Police Department immediately.


text:
House of Robots: Robot Revolution
(House of Robots - 3)
After a few early glitches in their relationship, Sammy and his 'bro-bot' E are now best friends. In fact, E is such a valued member of the family that the other electronic members of the House of Robots are feeling sorely unappreciated. And when Sammy's inventor mom becomes distracted by a top-secret project, the robots soon begin to fall into disrepair.
Cue a robot revolution, with the droids wreaking harmless havoc in the house! Armed with pranks like glue in the shampoo bottles and flying toast missiles, the robots demand to be cared for. It's up to Sammy and his sister Maddie to keep the peace until his mom reveals her secret project... and why it was worth the wait.
House of Robots: Robots Go Wild!
House of Robots
House of Robots by James Patterson
Sign up to the Puffin newsletter
Stories, ideas and giveaways to help you spark young imaginations
Thank you for signing up to the Puffin Newsletter


We have a team of professionals providing an extensive range of services that include accounts, payroll, VAT compliance and planning, tax credits, taxation, tax planning and agricultural consultancy to name a few.
The high level of experience demonstrated within our team enabled us to develop strong relationships with all our clients helping each business achieve their ambitions.
With commitment, drive and enthusiasm our team at Rory P Gormley & Co Ltd Accountants are dedicated to providing personalized, pro-active, consultancy services and commercial, cost effective accountancy solutions to help maintain and develop your business in these times of financial uncertainty.
Please feel free to contact our office today if you think we can help your business.
Copyright 2018 Rory P Gormley & Co. Ltd.


Today drew a close to the 2015 Cape Classic here in Western Province at Derdesteen. It was a well attend contest with over 60 entries coming from as far as Richard's Bay to compete at this years champs. We saw a new champion being crowned in the Pro division as Mark McCarthy took out this year's Cape Classic.
Cape Classic started off with fun waves at Yzerfontien on day one and two. The competition was stiff as we watched some of the competitors get knocked out of the contest at an early stage. The final day was started off with some heavy fog, which made it difficult until it lifted and was clear that Derdesteen was the right call for the day.
The morning started off with some fun waves for the boys final and stayed the same throughout the day to give some small but fun conditions for all the riders. Alex Nutt opened with some strong riding in the shorebreak conditions. He had some good waves with a clean invert and a smooth backflip to take out the boys heats with a win Quinn Van Heerden had some clean rolls but could not match the riding of Alex, while Emile Smal ended in a third place.
Ladies final started with some solid riding from all the girls while a new up and coming ladies rider, Robyn Nutt gave the winner, Pamela Bowren a tight heat. Bowren rode the wave well and out-bodyboarded Nutt who was unable to get the scores she needed. Nutt came in second place followed by Georgi McKeone in third and Francoise Joubert in fourth.
Next to hit the water was the Grandmasters with the oldest competitors taking it to the water to see who would be crowned the champ. Leon Nel was looking good in the heat with some good rolls and a small barrel, but it was Michael Van Huyssteen who came out with the win showing his good rolls to the beach and his knowledge of wave riding.
The Masters took to the water with the conditions switching to low tide and the waves slowly changing to go further out. It was the strong riding of Ryno Turketti who took the win over David Camacho while Clinton Millard settle for the third place.
The ZION Junior final was another well contested heat from start to finish with Garryd Ensor-Smith and Tristan Roberts fighting for the first place finish. It was Roberts who held off Ensor-Smith with a good backflip to take his second win of the tour while Ensor-Smith managed a second. It was then Codi Butterworth who got a third and Sean Wilson with the fourth place. Butterworth also got wave of the contest for a huge backflip on Day one.
The DK final was a closely contested heat with all the riders getting some good waves. The riders waited for a long time before the first waves of the heat came through but it was the on form Sacha Specker who was able to take it out with some good scores and one great turn to take him to the top spot and a second win of the tour. Iain Campbell had some good moves but couldn't out do Specker and ended in a second place while Dune Barker and Terence Pieters picked up third and fourth respectively.
The Mens was another good heat to watch with the conditions slowly dropping, the men were still able to put on a good show for the crowd to watch. The show was stolen yet again by Dune Barker who took the win in the second contest of the year. Johan De Goede just didn't have enough to catch Barker and got second while JP Nortier finished in third and left Andre Botha came in a close fourth.
The Pro quarter finals were run on day two of completion and saw Andrew Raath, JC Johnson, Sacha Specker and Iain Campbell getting knocked out. This left the last four to fight it out and were sent out on day two. This was until the mist pulled into Yzerfontien and meant that the final day would decide who would be in the final. In the semi final it was Tristan Roberts and Terence Pieters getting knocked and left Mark McCarthy and Storm Prestwich to fight out the final. It was another good final with McCarthy getting a good backflip and continued to ride the wave to the shorebreak. He backed it up with two clean rolls and came out victorious. Prestwich couldn't match the combinations of McCarthy and in a tightly contested final ended in a close second place.
Well done to all the riders and a big thanks to all the sponsors who helped us with the running and success of the Cape Classic 2015.


Custom Printed Longboard Griptape with your designs and logos. 10x39 inches sheets can be ordered and designed online here. Make your next skateboard deck stand out and show off to your friends what you came up with.
37" Long10" WideDouble pintail Glider longboard is a great board to take with you on your next..
39" Long10" WideWide hips and a thin waist this Double Wedge longboard is great for making you..


Our goal is to manage energy and water use to meet the mission needs of the laboratory while reducing costs, increasing resiliency, and reducing environmental impacts.
We actively track energy usage across our campus and work to reduce the energy use intensity (EUI) of our buildings. While some building types use more energy than others, a low EUI generally indicates good performance.
Our Retro-Commissioning (RCx) Program works to identify and implement energy efficiency improvements beyond lighting and other "low-hanging fruit". The process identifies, investigates and executes operational and maintenance improvements within existing buildings. A building's energy-using systems, such as the heating, ventilation and air conditioning (HVAC) equipment, are evaluated, tested and optimized on the basis of recommendations provided by the RCx contractors.
Retrocommissioning program identifies more energy savings projects.
We have developed onsite infrastructure to provide clean and renewable energy and increase site resilience. In partnership with onsite research and operational programs, we have invested in solar photovoltaic (PV), wind, geothermal, and CHP facilities.
We have a strong record of water conservation and efficiency efforts to reduce our impact on this finite natural resource. Argonne has greatly reduced our reliance on potable water and is taking an integrated approach to achieve our long-term water management goals.
At Argonne, it's as our responsibility to lead by example not only in what we produce, but also in what we reduce. We examine campus activities for opportunities to reduce greenhouse gas (GHG) emissions.
Reduce Scope 1 and 2 GHG emissions by 50% from our 2008 baseline; current progress is 21% reduction.
Reduce Scope 3 GHG emissions by 25% from our 2008 baseline; current progress is 10% reduction.


Chilled ready meals North America, Europe and BRICS Market Forecast and Industry Trends | Market Research Reports® Inc.
Chilled ready meals North America, Europe and BRICS Market Forecast and Industry Trends report is published on April 1, 2018 and has 100 pages in it. This market research report provides information about Chilled & Frozen Food, Food, Country Overview (Food & Beverages), Food & Beverages industry. It covers Global regional market data and forecasts. It is priced starting at USD 962.00 for Single User License (PDF) which allows one person to use this report.
Chilled ready meals North America, Europe and BRICS: A hard data report presenting detailed of Retail, Foodservice and Total Demand Markets by Volume and Value, including historical and forecast growth rates and up-to-date Company Market Shares and Brands for all country & product markets.
*Chilled ready meals (15.6)* - Chilled ready meals (recipe dishes type), including refrigerated pizzas, vegetable, meat and/or fish-based meals (including cook-chill/ "sous vide" for retail and catering).


MY FRIEND WAS ARRESTED - WHAT NOW?
What can you do when a friend or relative is arrested? How long will he or she spend in jail? Will you need a bail bond?
First, you need to remain calm. Second, invest in a qualified criminal defense attorney. Third, get answers so you can make informed decisions.
An immediate call to Michael A. Gottlieb, P.A., at 954-462-1005 will allow our team to quickly prepare for an initial hearing and immediately look for defenses.
Our team of skilled lawyers has more than 25 years of criminal defense experience helping families in Fort Lauderdale, Broward County and across Florida. We also handle cases in federal court and have helped clients across the country.
Once you meet with us, we will take over. Our first step will be to get a court hearing to discuss bail and release conditions. These conditions usually deal with issues regarding flight from prosecution and danger to the community. Our office will help tailor arguments to ensure the best bond results. Often this can happen as soon as the next business day.
After your loved one is out of jail, we will turn our focus to developing a solid legal defense strategy. We will sit down with you to answer your questions so you know what to expect and are comfortable with the process moving forward.
Because each case is different, we want to hear what happened and then we will conduct our own investigation into the facts of your case. We have been successful at identifying defenses and will strive to get the charges dismissed.
You need to act fast to get your loved one out of custody. Dial 954-462-1005 to get immediate answers from one of our attorneys. Sending an email is another way to reach us for a free initial consultation. We are available 24/7 and promptly respond to all messages.


text:
<?php

function condition_operator2str($operator) {
	switch ($operator) {
		case CONDITION_OPERATOR_EQUAL:
			return '=';
		case CONDITION_OPERATOR_NOT_EQUAL:
			return '<>';
		case CONDITION_OPERATOR_LIKE:
			return _('like');
		case CONDITION_OPERATOR_NOT_LIKE:
			return _('not like');
		case CONDITION_OPERATOR_IN:
			return _('in');
		case CONDITION_OPERATOR_MORE_EQUAL:
			return '>=';
		case CONDITION_OPERATOR_LESS_EQUAL:
			return '<=';
		case CONDITION_OPERATOR_NOT_IN:
			return _('not in');
		default:
			return _('Unknown');
	}
}

function condition_type2str($conditionType) {
	switch ($conditionType) {
		case CONDITION_TYPE_TRIGGER_VALUE:
			return _('Trigger value');
		case CONDITION_TYPE_MAINTENANCE:
			return _('Maintenance status');
		case CONDITION_TYPE_TRIGGER_NAME:
			return _('Trigger name');
		case CONDITION_TYPE_TRIGGER_SEVERITY:
			return _('Trigger severity');
		case CONDITION_TYPE_TRIGGER:
			return _('Trigger');
		case CONDITION_TYPE_HOST_NAME:
			return _('Host name');
		case CONDITION_TYPE_HOST_GROUP:
			return _('Host group');
		case CONDITION_TYPE_TEMPLATE:
			return _('Template');
		case CONDITION_TYPE_HOST:
			return _('Host');
		case CONDITION_TYPE_TIME_PERIOD:
			return _('Time period');
		case CONDITION_TYPE_DRULE:
			return _('Discovery rule');
		case CONDITION_TYPE_DCHECK:
			return _('Discovery check');
		case CONDITION_TYPE_DOBJECT:
			return _('Discovery object');
		case CONDITION_TYPE_DHOST_IP:
			return _('Host IP');
		case CONDITION_TYPE_DSERVICE_TYPE:
			return _('Service type');
		case CONDITION_TYPE_DSERVICE_PORT:
			return _('Service port');
		case CONDITION_TYPE_DSTATUS:
			return _('Discovery status');
		case CONDITION_TYPE_DUPTIME:
			return _('Uptime/Downtime');
		case CONDITION_TYPE_DVALUE:
			return _('Received value');
		case CONDITION_TYPE_EVENT_ACKNOWLEDGED:
			return _('Event acknowledged');
		case CONDITION_TYPE_APPLICATION:
			return _('Application');
		case CONDITION_TYPE_PROXY:
			return _('Proxy');
		case CONDITION_TYPE_EVENT_TYPE:
			return _('Event type');
		case CONDITION_TYPE_HOST_METADATA:
			return _('Host metadata');
		default:
			return _('Unknown');
	}
}

function discovery_object2str($object = null) {
	$discoveryObjects = array(
		EVENT_OBJECT_DHOST => _('Device'),
		EVENT_OBJECT_DSERVICE => _('Service')
	);

	if ($object === null) {
		return $discoveryObjects;
	}
	elseif (isset($discoveryObjects[$object])) {
		return $discoveryObjects[$object];
	}
	else {
		return _('Unknown');
	}
}

function condition_value2str($conditiontype, $value) {
	switch ($conditiontype) {
		case CONDITION_TYPE_HOST_GROUP:
			$groups = API::HostGroup()->get(array(
				'groupids' => $value,
				'output' => array('name'),
				'limit' => 1
			));

			if ($groups) {
				$group = reset($groups);

				$str_val = $group['name'];
			}
			else {
				return _('Unknown');
			}
			break;
		case CONDITION_TYPE_TRIGGER:
			$trigs = API::Trigger()->get(array(
				'triggerids' => $value,
				'expandDescription' => true,
				'output' => array('description'),
				'selectHosts' => array('name'),
				'limit' => 1
			));

			if ($trigs) {
				$trig = reset($trigs);
				$host = reset($trig['hosts']);

				$str_val = $host['name'].NAME_DELIMITER.$trig['description'];
			}
			else {
				return _('Unknown');
			}
			break;
		case CONDITION_TYPE_HOST:
		case CONDITION_TYPE_TEMPLATE:
			if ($host = get_host_by_hostid($value)) {
				$str_val = $host['name'];
			}
			else {
				return _('Unknown');
			}
			break;
		case CONDITION_TYPE_TRIGGER_NAME:
		case CONDITION_TYPE_HOST_METADATA:
		case CONDITION_TYPE_HOST_NAME:
			$str_val = $value;
			break;
		case CONDITION_TYPE_TRIGGER_VALUE:
			$str_val = trigger_value2str($value);
			break;
		case CONDITION_TYPE_TRIGGER_SEVERITY:
			$str_val = getSeverityCaption($value);
			break;
		case CONDITION_TYPE_TIME_PERIOD:
			$str_val = $value;
			break;
		case CONDITION_TYPE_MAINTENANCE:
			$str_val = _('maintenance');
			break;
		case CONDITION_TYPE_DRULE:
			if ($drule = get_discovery_rule_by_druleid($value)) {
				$str_val = $drule['name'];
			}
			else {
				return _('Unknown');
			}
			break;
		case CONDITION_TYPE_DCHECK:
			$row = DBfetch(DBselect(
					'SELECT dr.name,c.dcheckid,c.type,c.key_,c.ports'.
					' FROM drules dr,dchecks c'.
					' WHERE dr.druleid=c.druleid'.
						' AND c.dcheckid='.zbx_dbstr($value)
			));
			if ($row) {
				$str_val = $row['name'].NAME_DELIMITER.discovery_check2str($row['type'], $row['key_'], $row['ports']);
			}
			else {
				return _('Unknown');
			}
			break;
		case CONDITION_TYPE_DOBJECT:
			$str_val = discovery_object2str($value);
			break;
		case CONDITION_TYPE_PROXY:
			if ($host = get_host_by_hostid($value)) {
				$str_val = $host['host'];
			}
			else {
				return _('Unknown');
			}
			break;
		case CONDITION_TYPE_DHOST_IP:
			$str_val = $value;
			break;
		case CONDITION_TYPE_DSERVICE_TYPE:
			$str_val = discovery_check_type2str($value);
			break;
		case CONDITION_TYPE_DSERVICE_PORT:
			$str_val = $value;
			break;
		case CONDITION_TYPE_DSTATUS:
			$str_val = discovery_object_status2str($value);
			break;
		case CONDITION_TYPE_DUPTIME:
			$str_val = $value;
			break;
		case CONDITION_TYPE_DVALUE:
			$str_val = $value;
			break;
		case CONDITION_TYPE_EVENT_ACKNOWLEDGED:
			$str_val = ($value) ? _('Ack') : _('Not Ack');
			break;
		case CONDITION_TYPE_APPLICATION:
			$str_val = $value;
			break;
		case CONDITION_TYPE_EVENT_TYPE:
			$str_val = eventType($value);
			break;
		default:
			return _('Unknown');
	}

	return $str_val;
}

/**
 * Returns the HTML representation of an action condition.
 *
 * @param $conditiontype
 * @param $operator
 * @param $value
 *
 * @return array
 */
function get_condition_desc($conditiontype, $operator, $value) {
	return array(
		condition_type2str($conditiontype),
		SPACE,
		condition_operator2str($operator),
		SPACE,
		italic(CHtml::encode(condition_value2str($conditiontype, $value)))
	);
}

/**
 * Generates array with HTML items representing operation with description
 *
 * @param int $type short or long description, use const. SHORT_DESCRIPTION and LONG_DESCRIPTION
 * @param array $data
 * @param int $data['operationtype'] type of operation: OPERATION_TYPE_MESSAGE, OPERATION_TYPE_COMMAND, ...
 * @param int $data['opmessage']['mediatypeid'] type id of message media
 * @param bool $data['opmessage']['default_msg'] should default message be used
 * @param bool $data['opmessage']['operationid'] if true $data['operationid'] will be used to retrieve default messages from DB
 * @param string $data['opmessage']['subject'] subject of message
 * @param string $data['opmessage']['message'] message it self
 * @param array $data['opmessage_usr'] list of user ids if OPERATION_TYPE_MESSAGE
 * @param array $data['opmessage_grp'] list of group ids if OPERATION_TYPE_MESSAGE
 * @param array $data['opcommand_grp'] list of group ids if OPERATION_TYPE_COMMAND
 * @param array $data['opcommand_hst'] list of host ids if OPERATION_TYPE_COMMAND
 * @param array $data['opgroup'] list of group ids if OPERATION_TYPE_GROUP_ADD or OPERATION_TYPE_GROUP_REMOVE
 * @param array $data['optemplate'] list of template ids if OPERATION_TYPE_TEMPLATE_ADD or OPERATION_TYPE_TEMPLATE_REMOVE
 * @param int $data['operationid'] id of operation
 * @param int $data['opcommand']['type'] type of command: ZBX_SCRIPT_TYPE_IPMI, ZBX_SCRIPT_TYPE_SSH, ...
 * @param string $data['opcommand']['command'] actual command
 * @param int $data['opcommand']['scriptid'] script id used if $data['opcommand']['type'] is ZBX_SCRIPT_TYPE_GLOBAL_SCRIPT
 *
 * @return array
 */
function get_operation_descr($type, $data) {
	$result = array();

	if ($type == SHORT_DESCRIPTION) {
		switch ($data['operationtype']) {
			case OPERATION_TYPE_MESSAGE:
				$mediaTypes = API::Mediatype()->get(array(
					'mediatypeids' => $data['opmessage']['mediatypeid'],
					'output' => array('description')
				));
				if (empty($mediaTypes)) {
					$mediatype = _('all media');
				}
				else {
					$mediatype = reset($mediaTypes);
					$mediatype = $mediatype['description'];
				}

				if (!empty($data['opmessage_usr'])) {
					$users = API::User()->get(array(
						'userids' => zbx_objectValues($data['opmessage_usr'], 'userid'),
						'output' => array('userid', 'alias', 'name', 'surname')
					));
					order_result($users, 'alias');

					foreach ($users as $user) {
						$fullnames[] = getUserFullname($user);
					}

					$result[] = bold(_('Send message to users').NAME_DELIMITER);
					$result[] = array(implode(', ', $fullnames), SPACE, _('via'), SPACE, $mediatype);
					$result[] = BR();
				}

				if (!empty($data['opmessage_grp'])) {
					$usrgrps = API::UserGroup()->get(array(
						'usrgrpids' => zbx_objectValues($data['opmessage_grp'], 'usrgrpid'),
						'output' => API_OUTPUT_EXTEND
					));
					order_result($usrgrps, 'name');

					$result[] = bold(_('Send message to user groups').NAME_DELIMITER);
					$result[] = array(implode(', ', zbx_objectValues($usrgrps, 'name')), SPACE, _('via'), SPACE, $mediatype);
					$result[] = BR();
				}
				break;
			case OPERATION_TYPE_COMMAND:
				if (!isset($data['opcommand_grp'])) {
					$data['opcommand_grp'] = array();
				}
				if (!isset($data['opcommand_hst'])) {
					$data['opcommand_hst'] = array();
				}

				$hosts = API::Host()->get(array(
					'hostids' => zbx_objectValues($data['opcommand_hst'], 'hostid'),
					'output' => array('hostid', 'name')
				));

				foreach ($data['opcommand_hst'] as $cmd) {
					if ($cmd['hostid'] != 0) {
						continue;
					}

					$result[] = array(bold(_('Run remote commands on current host')), BR());
					break;
				}

				if (!empty($hosts)) {
					order_result($hosts, 'name');

					$result[] = bold(_('Run remote commands on hosts').NAME_DELIMITER);
					$result[] = array(implode(', ', zbx_objectValues($hosts, 'name')), BR());
				}

				$groups = API::HostGroup()->get(array(
					'groupids' => zbx_objectValues($data['opcommand_grp'], 'groupid'),
					'output' => array('groupid', 'name')
				));

				if (!empty($groups)) {
					order_result($groups, 'name');

					$result[] = bold(_('Run remote commands on host groups').NAME_DELIMITER);
					$result[] = array(implode(', ', zbx_objectValues($groups, 'name')), BR());
				}
				break;
			case OPERATION_TYPE_HOST_ADD:
				$result[] = array(bold(_('Add host')), BR());
				break;
			case OPERATION_TYPE_HOST_REMOVE:
				$result[] = array(bold(_('Remove host')), BR());
				break;
			case OPERATION_TYPE_HOST_ENABLE:
				$result[] = array(bold(_('Enable host')), BR());
				break;
			case OPERATION_TYPE_HOST_DISABLE:
				$result[] = array(bold(_('Disable host')), BR());
				break;
			case OPERATION_TYPE_GROUP_ADD:
			case OPERATION_TYPE_GROUP_REMOVE:
				if (!isset($data['opgroup'])) {
					$data['opgroup'] = array();
				}

				$groups = API::HostGroup()->get(array(
					'groupids' => zbx_objectValues($data['opgroup'], 'groupid'),
					'output' => array('groupid', 'name')
				));

				if (!empty($groups)) {
					order_result($groups, 'name');

					if (OPERATION_TYPE_GROUP_ADD == $data['operationtype']) {
						$result[] = bold(_('Add to host groups').NAME_DELIMITER);
					}
					else {
						$result[] = bold(_('Remove from host groups').NAME_DELIMITER);
					}

					$result[] = array(implode(', ', zbx_objectValues($groups, 'name')), BR());
				}
				break;
			case OPERATION_TYPE_TEMPLATE_ADD:
			case OPERATION_TYPE_TEMPLATE_REMOVE:
				if (!isset($data['optemplate'])) {
					$data['optemplate'] = array();
				}

				$templates = API::Template()->get(array(
					'templateids' => zbx_objectValues($data['optemplate'], 'templateid'),
					'output' => array('hostid', 'name')
				));

				if (!empty($templates)) {
					order_result($templates, 'name');

					if (OPERATION_TYPE_TEMPLATE_ADD == $data['operationtype']) {
						$result[] = bold(_('Link to templates').NAME_DELIMITER);
					}
					else {
						$result[] = bold(_('Unlink from templates').NAME_DELIMITER);
					}

					$result[] = array(implode(', ', zbx_objectValues($templates, 'name')), BR());
				}
				break;
			default:
		}
	}
	else {
		switch ($data['operationtype']) {
			case OPERATION_TYPE_MESSAGE:
				if (isset($data['opmessage']['default_msg']) && !empty($data['opmessage']['default_msg'])) {
					if (isset($_REQUEST['def_shortdata']) && isset($_REQUEST['def_longdata'])) {
						$result[] = array(bold(_('Subject').NAME_DELIMITER), BR(), zbx_nl2br($_REQUEST['def_shortdata']));
						$result[] = array(bold(_('Message').NAME_DELIMITER), BR(), zbx_nl2br($_REQUEST['def_longdata']));
					}
					elseif (isset($data['opmessage']['operationid'])) {
						$sql = 'SELECT a.def_shortdata,a.def_longdata '.
								' FROM actions a,operations o '.
								' WHERE a.actionid=o.actionid '.
									' AND o.operationid='.zbx_dbstr($data['operationid']);
						if ($rows = DBfetch(DBselect($sql, 1))) {
							$result[] = array(bold(_('Subject').NAME_DELIMITER), BR(), zbx_nl2br($rows['def_shortdata']));
							$result[] = array(bold(_('Message').NAME_DELIMITER), BR(), zbx_nl2br($rows['def_longdata']));
						}
					}
				}
				else {
					$result[] = array(bold(_('Subject').NAME_DELIMITER), BR(), zbx_nl2br($data['opmessage']['subject']));
					$result[] = array(bold(_('Message').NAME_DELIMITER), BR(), zbx_nl2br($data['opmessage']['message']));
				}

				break;
			case OPERATION_TYPE_COMMAND:
				switch ($data['opcommand']['type']) {
					case ZBX_SCRIPT_TYPE_IPMI:
						$result[] = array(bold(_('Run IPMI command').NAME_DELIMITER), BR(), italic(zbx_nl2br($data['opcommand']['command'])));
						break;
					case ZBX_SCRIPT_TYPE_SSH:
						$result[] = array(bold(_('Run SSH commands').NAME_DELIMITER), BR(), italic(zbx_nl2br($data['opcommand']['command'])));
						break;
					case ZBX_SCRIPT_TYPE_TELNET:
						$result[] = array(bold(_('Run TELNET commands').NAME_DELIMITER), BR(), italic(zbx_nl2br($data['opcommand']['command'])));
						break;
					case ZBX_SCRIPT_TYPE_CUSTOM_SCRIPT:
						if ($data['opcommand']['execute_on'] == ZBX_SCRIPT_EXECUTE_ON_AGENT) {
							$result[] = array(bold(_('Run custom commands on Zabbix agent').NAME_DELIMITER), BR(), italic(zbx_nl2br($data['opcommand']['command'])));
						}
						else {
							$result[] = array(bold(_('Run custom commands on Zabbix server').NAME_DELIMITER), BR(), italic(zbx_nl2br($data['opcommand']['command'])));
						}
						break;
					case ZBX_SCRIPT_TYPE_GLOBAL_SCRIPT:
						$userScripts = API::Script()->get(array(
							'scriptids' => $data['opcommand']['scriptid'],
							'output' => API_OUTPUT_EXTEND
						));
						$userScript = reset($userScripts);

						$result[] = array(bold(_('Run global script').NAME_DELIMITER), italic($userScript['name']));
						break;
					default:
						$result[] = array(bold(_('Run commands').NAME_DELIMITER), BR(), italic(zbx_nl2br($data['opcommand']['command'])));
				}
				break;
			default:
		}
	}

	return $result;
}

/**
 * Return an array of action conditions supported by the given event source.
 *
 * @param int $eventsource
 *
 * @return mixed
 */
function get_conditions_by_eventsource($eventsource) {
	$conditions[EVENT_SOURCE_TRIGGERS] = array(
		CONDITION_TYPE_APPLICATION,
		CONDITION_TYPE_HOST_GROUP,
		CONDITION_TYPE_TEMPLATE,
		CONDITION_TYPE_HOST,
		CONDITION_TYPE_TRIGGER,
		CONDITION_TYPE_TRIGGER_NAME,
		CONDITION_TYPE_TRIGGER_SEVERITY,
		CONDITION_TYPE_TRIGGER_VALUE,
		CONDITION_TYPE_TIME_PERIOD,
		CONDITION_TYPE_MAINTENANCE
	);
	$conditions[EVENT_SOURCE_DISCOVERY] = array(
		CONDITION_TYPE_DHOST_IP,
		CONDITION_TYPE_DSERVICE_TYPE,
		CONDITION_TYPE_DSERVICE_PORT,
		CONDITION_TYPE_DRULE,
		CONDITION_TYPE_DCHECK,
		CONDITION_TYPE_DOBJECT,
		CONDITION_TYPE_DSTATUS,
		CONDITION_TYPE_DUPTIME,
		CONDITION_TYPE_DVALUE,
		CONDITION_TYPE_PROXY
	);
	$conditions[EVENT_SOURCE_AUTO_REGISTRATION] = array(
		CONDITION_TYPE_HOST_NAME,
		CONDITION_TYPE_PROXY,
		CONDITION_TYPE_HOST_METADATA
	);
	$conditions[EVENT_SOURCE_INTERNAL] = array(
		CONDITION_TYPE_APPLICATION,
		CONDITION_TYPE_EVENT_TYPE,
		CONDITION_TYPE_HOST_GROUP,
		CONDITION_TYPE_TEMPLATE,
		CONDITION_TYPE_HOST
	);

	if (isset($conditions[$eventsource])) {
		return $conditions[$eventsource];
	}

	return $conditions[EVENT_SOURCE_TRIGGERS];
}

function get_opconditions_by_eventsource($eventsource) {
	$conditions = array(
		EVENT_SOURCE_TRIGGERS => array(CONDITION_TYPE_EVENT_ACKNOWLEDGED),
		EVENT_SOURCE_DISCOVERY => array(),
	);

	if (isset($conditions[$eventsource])) {
		return $conditions[$eventsource];
	}
}

function get_operations_by_eventsource($eventsource) {
	$operations[EVENT_SOURCE_TRIGGERS] = array(
		OPERATION_TYPE_MESSAGE,
		OPERATION_TYPE_COMMAND
	);
	$operations[EVENT_SOURCE_DISCOVERY] = array(
		OPERATION_TYPE_MESSAGE,
		OPERATION_TYPE_COMMAND,
		OPERATION_TYPE_HOST_ADD,
		OPERATION_TYPE_HOST_REMOVE,
		OPERATION_TYPE_GROUP_ADD,
		OPERATION_TYPE_GROUP_REMOVE,
		OPERATION_TYPE_TEMPLATE_ADD,
		OPERATION_TYPE_TEMPLATE_REMOVE,
		OPERATION_TYPE_HOST_ENABLE,
		OPERATION_TYPE_HOST_DISABLE
	);
	$operations[EVENT_SOURCE_AUTO_REGISTRATION] = array(
		OPERATION_TYPE_MESSAGE,
		OPERATION_TYPE_COMMAND,
		OPERATION_TYPE_HOST_ADD,
		OPERATION_TYPE_GROUP_ADD,
		OPERATION_TYPE_TEMPLATE_ADD,
		OPERATION_TYPE_HOST_DISABLE
	);
	$operations[EVENT_SOURCE_INTERNAL] = array(
		OPERATION_TYPE_MESSAGE
	);

	if (isset($operations[$eventsource])) {
		return $operations[$eventsource];
	}

	return $operations[EVENT_SOURCE_TRIGGERS];
}

function operation_type2str($type = null) {
	$types = array(
		OPERATION_TYPE_MESSAGE => _('Send message'),
		OPERATION_TYPE_COMMAND => _('Remote command'),
		OPERATION_TYPE_HOST_ADD => _('Add host'),
		OPERATION_TYPE_HOST_REMOVE => _('Remove host'),
		OPERATION_TYPE_HOST_ENABLE => _('Enable host'),
		OPERATION_TYPE_HOST_DISABLE => _('Disable host'),
		OPERATION_TYPE_GROUP_ADD => _('Add to host group'),
		OPERATION_TYPE_GROUP_REMOVE => _('Remove from host group'),
		OPERATION_TYPE_TEMPLATE_ADD => _('Link to template'),
		OPERATION_TYPE_TEMPLATE_REMOVE => _('Unlink from template')
	);

	if (is_null($type)) {
		return order_result($types);
	}
	elseif (isset($types[$type])) {
		return $types[$type];
	}
	else {
		return _('Unknown');
	}
}

function sortOperations($eventsource, &$operations) {
	if ($eventsource == EVENT_SOURCE_TRIGGERS || $eventsource == EVENT_SOURCE_INTERNAL) {
		$esc_step_from = array();
		$esc_step_to = array();
		$esc_period = array();
		$operationTypes = array();

		foreach ($operations as $key => $operation) {
			$esc_step_from[$key] = $operation['esc_step_from'];
			$esc_step_to[$key] = $operation['esc_step_to'];
			$esc_period[$key] = $operation['esc_period'];
			$operationTypes[$key] = $operation['operationtype'];
		}
		array_multisort($esc_step_from, SORT_ASC, $esc_step_to, SORT_ASC, $esc_period, SORT_ASC, $operationTypes, SORT_ASC, $operations);
	}
	else {
		CArrayHelper::sort($operations, array('operationtype'));
	}
}

/**
 * Return an array of operators supported by the given action condition.
 *
 * @param int $conditiontype
 *
 * @return array
 */
function get_operators_by_conditiontype($conditiontype) {
	$operators[CONDITION_TYPE_HOST_GROUP] = array(
		CONDITION_OPERATOR_EQUAL,
		CONDITION_OPERATOR_NOT_EQUAL
	);
	$operators[CONDITION_TYPE_TEMPLATE] = array(
		CONDITION_OPERATOR_EQUAL,
		CONDITION_OPERATOR_NOT_EQUAL
	);
	$operators[CONDITION_TYPE_HOST] = array(
		CONDITION_OPERATOR_EQUAL,
		CONDITION_OPERATOR_NOT_EQUAL
	);
	$operators[CONDITION_TYPE_TRIGGER] = array(
		CONDITION_OPERATOR_EQUAL,
		CONDITION_OPERATOR_NOT_EQUAL
	);
	$operators[CONDITION_TYPE_TRIGGER_NAME] = array(
		CONDITION_OPERATOR_LIKE,
		CONDITION_OPERATOR_NOT_LIKE
	);
	$operators[CONDITION_TYPE_TRIGGER_SEVERITY] = array(
		CONDITION_OPERATOR_EQUAL,
		CONDITION_OPERATOR_NOT_EQUAL,
		CONDITION_OPERATOR_MORE_EQUAL,
		CONDITION_OPERATOR_LESS_EQUAL
	);
	$operators[CONDITION_TYPE_TRIGGER_VALUE] = array(
		CONDITION_OPERATOR_EQUAL
	);
	$operators[CONDITION_TYPE_TIME_PERIOD] = array(
		CONDITION_OPERATOR_IN,
		CONDITION_OPERATOR_NOT_IN
	);
	$operators[CONDITION_TYPE_MAINTENANCE] = array(
		CONDITION_OPERATOR_IN,
		CONDITION_OPERATOR_NOT_IN
	);
	$operators[CONDITION_TYPE_DRULE] = array(
		CONDITION_OPERATOR_EQUAL,
		CONDITION_OPERATOR_NOT_EQUAL
	);
	$operators[CONDITION_TYPE_DCHECK] = array(
		CONDITION_OPERATOR_EQUAL,
		CONDITION_OPERATOR_NOT_EQUAL
	);
	$operators[CONDITION_TYPE_DOBJECT] = array(
		CONDITION_OPERATOR_EQUAL,
	);
	$operators[CONDITION_TYPE_PROXY] = array(
		CONDITION_OPERATOR_EQUAL,
		CONDITION_OPERATOR_NOT_EQUAL
	);
	$operators[CONDITION_TYPE_DHOST_IP] = array(
		CONDITION_OPERATOR_EQUAL,
		CONDITION_OPERATOR_NOT_EQUAL
	);
	$operators[CONDITION_TYPE_DSERVICE_TYPE] = array(
		CONDITION_OPERATOR_EQUAL,
		CONDITION_OPERATOR_NOT_EQUAL
	);
	$operators[CONDITION_TYPE_DSERVICE_PORT] = array(
		CONDITION_OPERATOR_EQUAL,
		CONDITION_OPERATOR_NOT_EQUAL
	);
	$operators[CONDITION_TYPE_DSTATUS] = array(
		CONDITION_OPERATOR_EQUAL,
	);
	$operators[CONDITION_TYPE_DUPTIME] = array(
		CONDITION_OPERATOR_MORE_EQUAL,
		CONDITION_OPERATOR_LESS_EQUAL
	);
	$operators[CONDITION_TYPE_DVALUE] = array(
		CONDITION_OPERATOR_EQUAL,
		CONDITION_OPERATOR_NOT_EQUAL,
		CONDITION_OPERATOR_MORE_EQUAL,
		CONDITION_OPERATOR_LESS_EQUAL,
		CONDITION_OPERATOR_LIKE,
		CONDITION_OPERATOR_NOT_LIKE
	);
	$operators[CONDITION_TYPE_EVENT_ACKNOWLEDGED] = array(
		CONDITION_OPERATOR_EQUAL
	);
	$operators[CONDITION_TYPE_APPLICATION] = array(
		CONDITION_OPERATOR_EQUAL,
		CONDITION_OPERATOR_LIKE,
		CONDITION_OPERATOR_NOT_LIKE
	);
	$operators[CONDITION_TYPE_HOST_NAME] = array(
		CONDITION_OPERATOR_LIKE,
		CONDITION_OPERATOR_NOT_LIKE
	);
	$operators[CONDITION_TYPE_EVENT_TYPE] = array(
		CONDITION_OPERATOR_EQUAL
	);
	$operators[CONDITION_TYPE_HOST_METADATA] = array(
		CONDITION_OPERATOR_LIKE,
		CONDITION_OPERATOR_NOT_LIKE
	);

	if (isset($operators[$conditiontype])) {
		return $operators[$conditiontype];
	}

	return array();
}

function count_operations_delay($operations, $def_period = 0) {
	$delays = array(1 => 0);
	$periods = array();
	$max_step = 0;

	foreach ($operations as $operation) {
		$step_to = $operation['esc_step_to'] ? $operation['esc_step_to'] : 9999;
		$esc_period = $operation['esc_period'] ? $operation['esc_period'] : $def_period;

		if ($max_step < $operation['esc_step_from']) {
			$max_step = $operation['esc_step_from'];
		}

		for ($i = $operation['esc_step_from']; $i <= $step_to; $i++) {
			if (!isset($periods[$i]) || $periods[$i] > $esc_period) {
				$periods[$i] = $esc_period;
			}
		}
	}

	for ($i = 1; $i <= $max_step; $i++) {
		$esc_period = isset($periods[$i]) ? $periods[$i] : $def_period;
		$delays[$i+1] = $delays[$i] + $esc_period;
	}

	return $delays;
}

/**
 * Get action messages.
 *
 * @param array  $alerts
 * @param string $alerts[n]['alertid']
 * @param string $alerts[n]['userid']
 * @param int    $alerts[n]['alerttype']
 * @param array  $alerts[n]['mediatypes']
 * @param string $alerts[n]['clock']
 * @param int    $alerts[n]['esc_step']
 * @param int    $alerts[n]['status']
 * @param int    $alerts[n]['retries']
 * @param string $alerts[n]['subject']
 * @param string $alerts[n]['sendto']
 * @param string $alerts[n]['message']
 * @param string $alerts[n]['error']
 *
 * @return CTableInfo
 */
function getActionMessages(array $alerts) {
	$dbUsers = API::User()->get(array(
		'output' => array('userid', 'alias', 'name', 'surname'),
		'userids' => zbx_objectValues($alerts, 'userid'),
		'preservekeys' => true
	));

	$table = new CTableInfo(_('No actions found.'));
	$table->setHeader(array(
		_('Time'),
		_('Type'),
		_('Status'),
		_('Retries left'),
		_('Recipient(s)'),
		_('Message'),
		_('Info')
	));

	foreach ($alerts as $alert) {
		if ($alert['alerttype'] != ALERT_TYPE_MESSAGE) {
			continue;
		}

		$mediaType = array_pop($alert['mediatypes']);

		$time = zbx_date2str(DATE_TIME_FORMAT_SECONDS, $alert['clock']);

		if ($alert['esc_step'] > 0) {
			$time = array(
				bold(_('Step').NAME_DELIMITER),
				$alert['esc_step'],
				br(),
				bold(_('Time').NAME_DELIMITER),
				br(),
				$time
			);
		}

		if ($alert['status'] == ALERT_STATUS_SENT) {
			$status = new CSpan(_('sent'), 'green');
			$retries = new CSpan(SPACE, 'green');
		}
		elseif ($alert['status'] == ALERT_STATUS_NOT_SENT) {
			$status = new CSpan(_('In progress'), 'orange');
			$retries = new CSpan(ALERT_MAX_RETRIES - $alert['retries'], 'orange');
		}
		else {
			$status = new CSpan(_('not sent'), 'red');
			$retries = new CSpan(0, 'red');
		}

		$recipient = $alert['userid']
			? array(bold(getUserFullname($dbUsers[$alert['userid']])), BR(), $alert['sendto'])
			: $alert['sendto'];

		$message = array(
			bold(_('Subject').NAME_DELIMITER),
			br(),
			$alert['subject'],
			br(),
			br(),
			bold(_('Message').NAME_DELIMITER)
		);

		array_push($message, BR(), zbx_nl2br($alert['message']));

		if (zbx_empty($alert['error'])) {
			$info = '';
		}
		else {
			$info = new CDiv(SPACE, 'status_icon iconerror');
			$info->setHint($alert['error'], 'on');
		}

		$table->addRow(array(
			new CCol($time, 'top'),
			new CCol((isset($mediaType['description']) ? $mediaType['description'] : ''), 'top'),
			new CCol($status, 'top'),
			new CCol($retries, 'top'),
			new CCol($recipient, 'top'),
			new CCol($message, 'wraptext top'),
			new CCol($info, 'wraptext top')
		));
	}

	return $table;
}

/**
 * Get action remote commands.
 *
 * @param array  $alerts
 * @param string $alerts[n]['alertid']
 * @param int    $alerts[n]['alerttype']
 * @param string $alerts[n]['clock']
 * @param int    $alerts[n]['esc_step']
 * @param int    $alerts[n]['status']
 * @param string $alerts[n]['message']
 * @param string $alerts[n]['error']
 *
 * @return CTableInfo
 */
function getActionCommands(array $alerts) {
	$table = new CTableInfo(_('No actions found.'));
	$table->setHeader(array(
		_('Time'),
		_('Status'),
		_('Command'),
		_('Error')
	));

	foreach ($alerts as $alert) {
		if ($alert['alerttype'] != ALERT_TYPE_COMMAND) {
			continue;
		}

		$time = zbx_date2str(DATE_TIME_FORMAT_SECONDS, $alert['clock']);

		if ($alert['esc_step'] > 0) {
			$time = array(
				bold(_('Step').NAME_DELIMITER),
				$alert['esc_step'],
				br(),
				bold(_('Time').NAME_DELIMITER),
				br(),
				$time
			);
		}

		switch ($alert['status']) {
			case ALERT_STATUS_SENT:
				$status = new CSpan(_('executed'), 'green');
				break;

			case ALERT_STATUS_NOT_SENT:
				$status = new CSpan(_('In progress'), 'orange');
				break;

			default:
				$status = new CSpan(_('not sent'), 'red');
				break;
		}

		$error = $alert['error'] ? new CSpan($alert['error'], 'on') : new CSpan(SPACE, 'off');

		$table->addRow(array(
			new CCol($time, 'top'),
			new CCol($status, 'top'),
			new CCol(array(bold(_('Command').NAME_DELIMITER), BR(), zbx_nl2br($alert['message'])), 'wraptext top'),
			new CCol($error, 'wraptext top')
		));
	}

	return $table;
}

function get_actions_hint_by_eventid($eventid, $status = null) {
	$tab_hint = new CTableInfo(_('No actions found.'));
	$tab_hint->setAttribute('style', 'width: 300px;');
	$tab_hint->setHeader(array(
		_('User'),
		_('Details'),
		_('Status')
	));

	$sql = 'SELECT a.alertid,mt.description,u.alias,u.name,u.surname,a.subject,a.message,a.sendto,a.status,a.retries,a.alerttype'.
			' FROM events e,alerts a'.
				' LEFT JOIN users u ON u.userid=a.userid'.
				' LEFT JOIN media_type mt ON mt.mediatypeid=a.mediatypeid'.
			' WHERE a.eventid='.zbx_dbstr($eventid).
				(is_null($status)?'':' AND a.status='.zbx_dbstr($status)).
				' AND e.eventid=a.eventid'.
				' AND a.alerttype IN ('.ALERT_TYPE_MESSAGE.','.ALERT_TYPE_COMMAND.')'.
			' ORDER BY a.alertid';
	$result = DBselect($sql, 30);

	while ($row = DBfetch($result)) {
		if ($row['status'] == ALERT_STATUS_SENT) {
			$status = new CSpan(_('Sent'), 'green');
		}
		elseif ($row['status'] == ALERT_STATUS_NOT_SENT) {
			$status = new CSpan(_('In progress'), 'orange');
		}
		else {
			$status = new CSpan(_('not sent'), 'red');
		}

		switch ($row['alerttype']) {
			case ALERT_TYPE_MESSAGE:
				$message = empty($row['description']) ? '-' : $row['description'];
				break;
			case ALERT_TYPE_COMMAND:
				$message = array(bold(_('Command').NAME_DELIMITER));
				$msg = explode("\n", $row['message']);
				foreach ($msg as $m) {
					array_push($message, BR(), $m);
				}
				break;
			default:
				$message = '-';
		}

		if (!$row['alias']) {
			$row['alias'] = ' - ';
		}
		else {
			$fullname = '';
			if ($row['name']) {
				$fullname = $row['name'];
			}
			if ($row['surname']) {
				$fullname .= $fullname ? ' '.$row['surname'] : $row['surname'];
			}
			if ($fullname) {
				$row['alias'] .= ' ('.$fullname.')';
			}
		}

		$tab_hint->addRow(array(
			$row['alias'],
			$message,
			$status
		));
	}

	return $tab_hint;
}

function getEventActionsStatus($eventIds) {
	if (empty($eventIds)) {
		return array();
	}

	$actions = array();

	$alerts = DBselect(
		'SELECT a.eventid,a.status,COUNT(a.alertid) AS cnt'.
		' FROM alerts a'.
		' WHERE a.alerttype IN ('.ALERT_TYPE_MESSAGE.','.ALERT_TYPE_COMMAND.')'.
			' AND '.dbConditionInt('a.eventid', $eventIds).
		' GROUP BY eventid,status'
	);

	while ($alert = DBfetch($alerts)) {
		$actions[$alert['eventid']][$alert['status']] = $alert['cnt'];
	}

	foreach ($actions as $eventId => $action) {
		$sendCount = isset($action[ALERT_STATUS_SENT]) ? $action[ALERT_STATUS_SENT] : 0;
		$notSendCount = isset($action[ALERT_STATUS_NOT_SENT]) ? $action[ALERT_STATUS_NOT_SENT] : 0;
		$failedCount = isset($action[ALERT_STATUS_FAILED]) ? $action[ALERT_STATUS_FAILED] : 0;

		// calculate total
		$mixed = 0;
		if ($sendCount > 0) {
			$mixed += ALERT_STATUS_SENT;
		}
		if ($failedCount > 0) {
			$mixed += ALERT_STATUS_FAILED;
		}

		// display
		if ($notSendCount > 0) {
			$status = new CSpan(_('In progress'), 'orange');
		}
		elseif ($mixed == ALERT_STATUS_SENT) {
			$status = new CSpan(_('Ok'), 'green');
		}
		elseif ($mixed == ALERT_STATUS_FAILED) {
			$status = new CSpan(_('Failed'), 'red');
		}
		else {
			$columnLeft = new CCol(($sendCount > 0) ? new CSpan($sendCount, 'green') : SPACE);
			$columnLeft->setAttribute('width', '10');

			$columnRight = new CCol(($failedCount > 0) ? new CSpan($failedCount, 'red') : SPACE);
			$columnRight->setAttribute('width', '10');

			$status = new CRow(array($columnLeft, $columnRight));
		}

		$actions[$eventId] = new CTable(' - ');
		$actions[$eventId]->addRow($status);
	}

	return $actions;
}

function getEventActionsStatHints($eventIds) {
	if (empty($eventIds)) {
		return array();
	}

	$actions = array();

	$alerts = DBselect(
		'SELECT a.eventid,a.status,COUNT(a.alertid) AS cnt'.
		' FROM alerts a'.
		' WHERE a.alerttype IN ('.ALERT_TYPE_MESSAGE.','.ALERT_TYPE_COMMAND.')'.
			' AND '.dbConditionInt('a.eventid', $eventIds).
		' GROUP BY eventid,status'
	);

	while ($alert = DBfetch($alerts)) {
		if ($alert['cnt'] > 0) {
			if ($alert['status'] == ALERT_STATUS_SENT) {
				$color = 'green';
			}
			elseif ($alert['status'] == ALERT_STATUS_NOT_SENT) {
				$color = 'orange';
			}
			else {
				$color = 'red';
			}

			$hint = new CSpan($alert['cnt'], $color);
			$hint->setHint(get_actions_hint_by_eventid($alert['eventid'], $alert['status']));

			$actions[$alert['eventid']][$alert['status']] = $hint;
		}
	}

	foreach ($actions as $eventId => $action) {
		$actions[$eventId] = new CDiv(null, 'event-action-cont');
		$actions[$eventId]->addItem(array(
			new CDiv(isset($action[ALERT_STATUS_SENT]) ? $action[ALERT_STATUS_SENT] : SPACE),
			new CDiv(isset($action[ALERT_STATUS_NOT_SENT]) ? $action[ALERT_STATUS_NOT_SENT] : SPACE),
			new CDiv(isset($action[ALERT_STATUS_FAILED]) ? $action[ALERT_STATUS_FAILED] : SPACE)
		));
	}

	return $actions;
}

/**
 * Returns the names of the "Event type" action condition values.
 *
 * If the $type parameter is passed, returns the name of the specific value, otherwise - returns an array of all
 * supported values.
 *
 * @param string $type
 *
 * @return array|string
 */
function eventType($type = null) {
	$types = array(
		EVENT_TYPE_ITEM_NOTSUPPORTED => _('Item in "not supported" state'),
		EVENT_TYPE_ITEM_NORMAL => _('Item in "normal" state'),
		EVENT_TYPE_LLDRULE_NOTSUPPORTED => _('Low-level discovery rule in "not supported" state'),
		EVENT_TYPE_LLDRULE_NORMAL => _('Low-level discovery rule in "normal" state'),
		EVENT_TYPE_TRIGGER_UNKNOWN => _('Trigger in "unknown" state'),
		EVENT_TYPE_TRIGGER_NORMAL => _('Trigger in "normal" state')
	);

	if (is_null($type)) {
		return $types;
	}
	elseif (isset($types[$type])) {
		return $types[$type];
	}
	else {
		return _('Unknown');
	}
}

redpajama_set_name: RedPajamaGithub


Bryce Robinson (U.S. Fish and Wildlife Service, Migratory Bird Management, Anchorage, Alaska, USA) and colleagues have published open access in the journal Marine Ornithology on four Short-tailed Shearwaters Ardenna tenuirostris (Least Concern) feeding on a beach-cast salmon in Alaska.
Robinson, B.W., Decicco, L.H., Johnson, J.A. & Ruthrauff, D.R. 2018. Unusual foraging observations associated with seabird die-offs in Alaska. Marine Ornithology 46: 149-153.


Fire crews responded to a fire Wednesday evening at one of the three Minneapolis Grain Exchange buildings.
The Minneapolis Fire Department knocked down a fire at a Grain Exchange building Wednesday night.
The fire was on the first floor in one of the three Grain Exchange buildings, located at 400 S. 4th St.
Fire crews entered the building shortly after 6:30 p.m. Wednesday.
Fire officiials say several floors were evacuated and crews quickly extinguished the fire.


text:
Q: Setting the default value of an Access 97 text field to an empty string Using DAO and VB6 I try to set the default value of an access 97 text field to an empty string (rather than Null) thus:
Dim newField as DAO.Field
Set newField = myTablelDef.CreateField("NewField", dbText, 10)
newField.DefaultValue=""

However, this is interpreted as Null and new records for which the NewField is not specified get Null as their value in stead of an empty string. If I change the value to, say, "Default" this is reflected in new records, so the code in itself is correct. I know that it IS possible to assign an empty string rather than Null to a Text field, so how is it done?

A: This works:
txtFieldone.AllowZeroLength = True
txtFieldone.DefaultValue = """"""

Not sure what's going on here, but I tested it with a query on = "" and it returns the correct records!

A: You'll need to set the newField.AllowZeroLength = True.
In Access97 all text & memo fields have this set to false.  In 2000 & beyond it's the opposite.
Here's a way to set them all to true via code.

A: I agree with you that setting it = "" does not work. Set AllowZeroLength = true, and on each insert, set that field = "". Not perfect, but it will work.

redpajama_set_name: RedPajamaStackExchange


text:
:root {

}
.Page {
  padding-top: 45px;
  transition: var(--transition-padding);
  background: var(--color-bg);
  position: relative;
  color: var(--color-body);
}
/** Create a background fill to extend footer background-color entire length of
 *  screen if content isn't enough */
.Page::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100vh;
  background: var(--color-purple);
  z-index: -1;
}
@media (--min-medium) {
  .Page {
    padding-top: 95px;
  }
  .Page:not(.is-scrolled) .Page-header-navigationBar {
    margin: 25px 0;
  }
}
.Page--nopadding {
  padding: 0;
  height: 100%;
}
.Page-header-navigationBar {
  transition: var(--transition-all);
}
.Page-content {

}


Flood river viewed from riverbank. View through trees from the riverbank.
hd00:23Little girl with a pregnant mother throw pine cones in water standing on the precipice. Beautiful forest landscape. A place to relax. Family concept. Activities in the open air.
hd00:29A little boy is playing on a rope swing in a rural field. His legs brush past long grass as he has fun swinging. Shot in the UK and filmed in slow motion at 240fps.


It happened again. Another store has been selling offensive, gender-specific (and not-that-funny) children's clothing.
First JCPenney, then Forever21 and now Gymboree, the iconic children's clothing retailer has come under fire for selling onesies emblazoned with "Smart Like Dad" for boys, and "Pretty Like Mommy" for girls. There were no "Smart Like Mommy" outfits in sight, although the company has previously sold "Handsome Like Daddy" onesies.
Media bombards children and adults with overwhelming messages that women should be beautiful, while men should be smart and powerful. These messages limit children's ideas of what is possible in the world and can have damaging effects on their self-esteem, their choice of school courses ... and their career possibilities. And while infants can't read, other children certainly can.
These sort of sentiments led to two separate petitions, on MomRising.org and Change.org. Both groups ask Gymboree to remove the items and stop selling clothing that promotes "retro gender roles" once and for all.
Gymboree is all about celebrating childhood. We're passionate about supporting the development of happy, healthy kids and this is at the heart of everything we do.
We apologize to anyone who was offended by our 'Pretty Like Mommy' bodysuit. This item was part of a collection offering a matching 'Handsome Like Daddy' bodysuit. While we do have a newborn collection for boys themed 'Smart Little Guy,' it's all about the playful beaver icon and his cleverness.
We believe that all children are sweet, smart and full of potential and appreciate your feedback letting us know that you feel the same way.
The discussion over how our society stereotypes boys and girls is anything but new. While Gymboree is the latest company to print shirts with these sort of messages, they are messages our children might hear very often. HuffPost blogger Lisa Bloom wrote this past June about our collective instinct to compliment little girls on their looks, rather than their brains: "Teaching girls that their appearance is the first thing you notice tells them that their looks are more important than anything."
And recent research shows that this is exactly how many girls -- of all ages -- feel. A 2009 study showed that almost 50 percent of 3- to 6-year-old girls worry about being fat and that one-third of them would change something about their appearances. Other research indicates that up to 25 percent of young women would rather be hot than smart. And just this past October, a study told us that women who wear makeup appear more competent in the workplace.
Do you think that these onesies cross the line and send a bad message to children about gender roles? Or is the blogosphere blowing this one out of proportion?


Welcome to this site for parents of twins, triplets and other multiple-birth children! My goal is to provide reassurance and affirmation for the increased effort it takes to lovingly nurture twins, triplets or more while actively promoting breastfeeding and attachment-style parenting concepts. I want each parent to develop a strong physical and emotional bond with each unique child within the set of multiples. Each of your twins, triplets, quads, quints or more deserves it – and so do you.
As a mother of five now adult children, three "singletons" and a set of monozygotic (MZ or identical) twin boys, I've experienced the different dynamic of parenting multiples and singletons. But personal experience only goes so far. In addition, I've been part of a group providing ongoing breastfeeding and parenting support for mothers of multiples for more than 30 years! That group and several online groups prevent me from forgetting the intense early weeks, months and years of parenting multiple-birth children! Mothering Multiples: Breastfeeding and Caring for Twins or More is the result of these mothers' collective "in person" and online group experiences.
Relax and make yourself at home with this site. Let me know if there is other information you'd like to see here!
© 2004 - 2019 Karen Kerkhoff Gromada. All rights reserved.


text:
\section{Introduction}

We consider the Next to Minimal Supersymmetric Standard Model (NMSSM)
which provides a natural solution to the so-called $\mu$ problem
through the introduction of a new gauge singlet superfield $\hat S$ in
the superpotential. In the NMSSM, the $\mu$ parameter is linked to the
vacuum expectation value (VEV) of the scalar component of $\hat S$
whose size is of the order of the supersymmetry breaking scale
\cite{NMSSM}.  Since it permits a scale invariant superpotential, the
NMSSM is the simplest supersymmetric generalization of the Standard
Model (SM) in which the supersymmetry breaking scale is the only mass
scale in the Lagrangian.  Moreover, by providing an additional tree
level contribution to the quartic term of the scalar potential it can
ameliorate the `little hierarchy problem' of the MSSM, which is
related to the requirement of a large ($\gg M_Z$) soft supersymmetry
breaking mass that can push the mass of the lightest neutral Higgs
beyond the LEP-2 limit of 114 GeV \cite{pdg}. Furthermore, the NMSSM
can admit a very light CP-odd Higgs boson ($m_{A_1}\sim 1 - 10$ GeV)
\cite{manirev,ulrichrev}. The main objective of this Letter is to
improve the experimental viability of such a light pseudoscalar by
providing it with a dominant invisible decay mode in a minimal
extension of the NMSSM which contains a source of lepton number
violation that also yields an acceptable neutrino mass.

In the NMSSM, the lightest CP-odd physical scalar $A_1$ can be decomposed as
\begin{equation}
\label{A1-def}
A_1 \equiv \cos\theta_A A_{\rm MSSM} + \sin\theta_A A_S \, ,
\end{equation}
where $A_{\rm MSSM}$ is the MSSM part of the CP-odd scalar, which arises
solely from the NMSSM Higgs doublets, and $A_S$ is the part that arises from
the new singlet superfield $\hat S$.  It is the singlet admixture, i.e. the
$\sin\theta_A$ projection, that allows the NMSSM pseudoscalar to be much lighter than
what it could have been in the MSSM. On the other hand, if $A_1$ is very light
then its detection crucially depends on its couplings to quarks and leptons,
which depend on $\cos\theta_A$.  These couplings can be extracted from the following
part of the Lagrangian \cite{gunion_dermisek}:
\begin{equation}
  \label{cabbdef}
  {\cal L}_{{A_1}f\bar f} = X_{u(d)} \frac{g m_f}{2M_W}
  \bar f \gamma_5 f A_1 \, ,
\end{equation}
where $g$ is the SU(2) gauge coupling, $X_d (X_u) = \cos\theta_A\tan\beta \ (\cos\theta_A\cotb)$
for down-type (up-type) fermions, $\tan\beta \equiv v_u/v_d$ with $v_u$ and
$v_d$ denoting the up- and down-type Higgs VEVs.

A light pseudoscalar is phenomenologically interesting mainly for two reasons:

\noindent ($i$) The direct search limit of 114 GeV on the mass of the SM-like
Higgs (a slightly smaller limit of 93 GeV for the MSSM neutral Higgs) is
obtained from its non-observation at the highest energy run at LEP-2, where
the Higgs was expected to be produced from gauge interactions (full strength
$ZZh$ coupling) and decay dominantly ($\sim 75\%$) into $b\bar b$ final
states. In the NMSSM, there could be two important changes:
\begin{itemize}
\item The lightest CP-even Higgs ($h$) may have a large singlet component,
  which leads to a significant dilution of the $ZZh$ coupling. The Higgs
  production cross section will then be reduced, and hence the lower limit on
  $m_h$ will be relaxed.

\item $h$ may dominantly decay into a pair of $A_1$, with each $A_1$ decaying
  into $f\bar f$, where $f$ is $b$, $\tau$, $c$, or $\mu$, depending on the
  kinematic thresholds. Therefore, the existing LEP-2 Higgs search strategy
  from $2b$ final states would fail as one should look for $4f$ final states.
  In fact, a reanalysis of the LEP-2 data by the LEP Collaboration has already
  put constraints on $\frac{\sigma(e^+e^- \rightarrow Zh)}{\sigma_{\rm
      SM}(e^+e^- \rightarrow Zh)} \times {\rm Br} (h\rightarrow A_1 A_1)\times
  {\rm Br}(A_1\rightarrow f \bar f)^2$, where $f=b$ or $\tau$ depending on
  kinematics thresholds \cite{Schael:2006cr,aleph}.  Similarly, for $\ma <
  2m_\tau$, upper limits have been placed on $\sigma(p \bar p \rightarrow
  hX)\times {\rm Br} (h\rightarrow A_1 A_1) \times {\rm Br} (A_1\rightarrow
  \mu^+ \mu^-)^2$ by the D0 collaboration at Fermilab Tevatron \cite{D0}.  The
  upshot is that the lower limit on $m_h$ is slightly weakened, and a smaller
  value of $m_h$ (e.g. 105 GeV) is in fact preferred by electroweak precision
  tests \cite{dermisekall}.

\end{itemize}

\noindent ($ii$) If the lightest supersymmetric particle (LSP) happens
to be very light (a few GeV), then a light $A_1$ offers the
possibility of $s$-channel LSP pair-annihilation into an on-shell
$A_1$. This resonance channel has a special significance when one
attempts to account for the observed dark matter relic abundance. It
has recently been shown that a light LSP of mass $\sim 10$ GeV can
have interesting consequences in the context of the recent DAMA/CoGeNT
results \cite{nmssmdarkall}.

Let us now briefly discuss the existing bounds on the mass of the light
pseudoscalar. The constraints on $X_d$, defined in Eq.~(\ref{cabbdef}), for
$\ma$ approximately in the range of 1 to 10 GeV have been summarized in
\cite{ulrichrev,gunion_dermisek}.  Measurements of $\Delta M_{d,s}$, ${\rm
  Br}(\bar B \to X_s \gamma)$, ${\rm Br}(B^+ \to \tau^+ \nu_\tau)$, and
particularly, ${\rm Br}(\bar B_s \to \mu^+ \mu^-)$ severely constrain
$m_{A_1}$ \cite{Domingo:2007dx}.  The rates of these processes primarily
depend on the choice of $\tan\beta$ and the soft supersymmetry breaking
trilinear term $A_t$, and the constraints are in general weaker when these
parameters are small. Values of $m_{A_1}$ between 1 GeV and $m_b$ are
generally disfavored from $B$-meson data \cite{ulrichrev}. Constraints on
$\ma$ also arise from radiative $\Upsilon$ decays
\cite{cleoiii,babar1,babar2}, namely, $\Upsilon (nS) \to \gamma A_1$, with
$A_1 \to \mu^+\mu^- (\tau^+\tau^-)$ (further investigated and reviewed in
\cite{gunion_dermisek}). Severe constraints also arise as a consequence of
$\eta_b -A_1$ mixing \cite{Drees:1989du,Domingo:2009tb,Domingo:2010am}.  The
different $\ma$ windows which are sensitive to different processes are listed
in Table \ref{cons}.  The table also shows the ranges where the LEP (ALEPH
\cite{aleph} and OPAL \cite{Abbiendi:2001kp}) constraints are applicable. The
origin of all these constraints can be traced to the visible decay modes of
$A_1$.

\begin{table
\begin{center}
\hspace*{-0.5cm}\begin{tabular}[ht]{|c|c|c|c|c|}
\hline
\hline
{\small Processes} &{\footnotesize$m_{A_1}<2m_{\tau}$} &\footnotesize
$[2m_{\tau}$,$ 9.2$ GeV$]$ &
\footnotesize $[9.2$ GeV,$M_{\Upsilon(1S)}]$
&\footnotesize $[M_{\Upsilon(1S)}$,$2m_B]$ \\
\hline
\hline
{ { \small $\Upsilon \to \gamma A_1 \to \gamma + (\mu^+\mu^-, gg, s \bar s)$
}}
& $\checkmark$
& $\times$ & $\times$ & $\times$  \\
\hline
\hline
{ { \small $\Upsilon\to \gamma A_1 \to \gamma \tauptaum$ } }& $\times$ &
$\checkmark$ &$\times$ & $\times$   \\
\hline
\hline
{{ \small $A_1$--$\eta_b$ mixing}} &$\times$  &$\times$  &$\checkmark$ &
$\times$     \\
\hline
\hline
{{ \small $e^+ e^- \rightarrow
 Z + 4\tau$ (ALEPH)}} &$\times$ & $\checkmark$  & $\checkmark$
& $\checkmark$    \\
\hline
\hline
{{ \small $e^+ e^- \rightarrow b \bar b \tauptaum$ (OPAL)}}  &$\times$
&$\times$  &$\checkmark$ &$\checkmark$   \\
\hline
\hline
\end {tabular}
\caption {\em \small Different processes constraining different $\ma$ windows.
  The ``$\checkmark$'' symbol in a given entry attests the existence of
  important or meaningful constraints from a given process, while the
  ``$\times$'' symbol implies otherwise.}
\label{cons}
\end{center}
\end{table}

However, the situation may dramatically change if $A_1$ has dominant invisible
decay modes.  Its decay into a pair of stable neutralinos (if kinematically
possible) is one such example.  The BABAR Collaboration \cite{invisible} at
the PEP-II $B$-factory has, however, searched for radiative $\Upsilon$-decays
where a large missing mass is accompanied by a monochromatic photon, and from
its non-observation has set a (preliminary) 90\% C.L. upper limit on ${\rm
  Br}(\Upsilon(3S) \to \gamma A_1) \times {\rm Br}(A_1 \to~{\rm invisible})$
at $(0.7-31)\times10^{-6}$ for $\ma$ in the range of 3 to 7.8 GeV.

In this Letter we further explore the possibility of invisible decay channels
that would allow a light $A_1$ escape detection even outside the range of 3 to
7.8 GeV.  We show that if we extend the NMSSM by two additional gauge singlets
with non-vanishing lepton numbers, they would not only provide a substantial
invisible decay channel of $A_1$ but, as a bonus, would also generate small
neutrino masses through lepton number violating ($\Delta L =2$) interactions.
The visible decay branching ratios of $A_1$ would then be reduced. As a
result, the constraints on $X_d$ would be weakened.  A light $A_1$ can then be
comfortably accommodated.

In the framework of the NMSSM, neutrino masses and mixings can be
generated via different mechanisms, either under the assumption of
$R$-parity conservation or $R$-parity violation (RpV).  In the latter
case, light neutrino masses/mixing data can be successfully
accommodated via the inclusion of explicit trilinear and/or bilinear
RpV terms~\cite{rpvnmssm1}, or through spontaneous violation of lepton
number in the presence of right-handed neutrino superfields (in
addition to the NMSSM singlet $\hat S$)~\cite{rpcnmssm1}.
Alternatively, one can employ a standard seesaw mechanism in a
$R$-parity conserving setup by adding three gauge singlet neutrino
superfields $\hat N_i$ to the NMSSM particle content
\cite{rpcnmssm2}. In this case, the light neutrino masses originate
from the tiny Yukawa couplings and (dynamically generated) TeV scale
Majorana mass terms.

Here, we follow none of the above paths.  We rather implement the
``inverse seesaw" mechanism \cite{inverse} by adding two gauge singlet
superfields with opposite lepton numbers ($+1$ and $-1$). During this
implementation we assume that $R$-parity is conserved, i.e. we do not
admit any $\Delta L = 1$ term in the superpotential.  To appreciate
the advantages of the inverse seesaw over the standard one we look at
the difference, from the point of view of effective operators, between
the properties of the dimension-5 (d-5) Weinberg operator which is
lepton number {\em violating} and the dimension-6 (d-6) operator which
is lepton number {\em conserving}. In the d-5 case, the light neutrino
mass is given by the seesaw formula $m_\nu \sim m_D^2/M$, where $m_D =
f v$ is a Dirac mass, with $v$ as the electroweak VEV and $f$ as a
generic Yukawa coupling. The source of lepton number violation is the
Majorana mass $M$. If we demand the Yukawa coupling $f$ to be order
one, then for $m_\nu$ to be $\sim$ 1 eV, $M$ has to be close to the
gauge coupling unification scale.  On the other hand, the d-6 operator
goes as $1/M^2$, but since this operator conserves lepton number, its
coefficient is not related to that of the d-5 operator
\cite{asmaa}. Therefore, for the d-6 case, one needs a separate source
of lepton number violation to generate light neutrino mass. The
generic form of this mass is $m_\nu \sim (m_D^2/M^2) \mu$, where $\mu$
is a lepton number violating ($\Delta L=2$) mass parameter. In this
case, one can comfortably keep the fundamental scale $M$ close to TeV,
i.e. within the LHC reach, and yet choose $f$ to be order unity which
can trigger large lepton flavor violation. Here, the lightness of the
neutrino mass (eV, or even lighter) is due to the smallness of $\mu$.
Having this small dimensionful term in the Lagrangian is technically
natural in the sense of 't Hooft \cite{thooft}, as in the limit of
vanishing $\mu$ one recovers the lepton number symmetry. The structure
of light neutrino mass obtained via inverse seesaw conforms to the
principle of `low fundamental scale, large Yukawa coupling and light
neutrino mass' \cite{Dudas}.

In our model, the superpotential is given by
\begin{eqnarray}
W&=&W_{\rm NMSSM}+W'\ , ~~{\rm where,}
\label{Supot}
\end{eqnarray}
\begin{eqnarray}
W_{\rm NMSSM}&=&f^d_{ij} \hat H_d  \hat Q_i  \hat D_j
              +f^u_{ij}  \hat H_u  \hat Q_i \hat U_j
              + f^e_{ij}  \hat H_d \hat L_i  \hat E_j +
              \lambda_H  \hat S  \hat H_d  \hat H_u
	      +\frac{\kappa}{3}  \hat S^3 \ , \\
W' &=& f^\nu_{ij} \hat H_u \hat L_i  \hat N_j
         + (\lambda_N)_i \hat S \hat  N_i {\hat X_i}
          + \mu_{Xi}  \hat X_i \hat X_i \, .
         \label{model-exp}
\end{eqnarray}
In the above expressions, $\hat H_d$ and $\hat H_u$ are the down- and
up-type Higgs superfields; $\hat Q_i$ and $\hat L_i$ denote the SU(2)
doublet quark and lepton superfields; $\hat U_i$ ($\hat D_i$) and
$\hat E_i$ are the SU(2) singlet up (down)-type quark superfields and
the charged lepton superfields, respectively.  We have denoted the
Yukawa couplings by $f$ with appropriate flavor ($u,d,e,\nu$) and
generation indices ($i,j = 1,2,3$).  $\hat S$ is the singlet
superfield already present in the minimal NMSSM.  Besides, we have
added two more gauge singlets $\hat N$ and $\hat X$, for each
generation, which carry lepton numbers $L=-1$ and $L=+1$,
respectively. In our formulation, even though $L$ is not a good
quantum number because of the presence of a non-vanishing $\mu_X$,
$(-1)^L$ is still a good symmetry.  We have written the $\hat N \hat
X$ and $\hat X \hat X$ terms in a generation diagonal basis without
any loss of generality. Once the scalar component of
$\hat S$ acquires a VEV ($v_S$), not only the conventional $\mu$-term
is generated with $\mu = \lambda_H v_S$, a lepton number {\em
  conserving} mass term $M_{N}\Psi_{N}\Psi_{X}$ is generated as well,
with $M_{N} = \lambda_{N} v_S$. One more lepton number {\em
  conserving} mass term $m_D \Psi_{\nu} \Psi_{N}$ emerges with $m_D =
f^\nu v_u$.

The crucial term relevant for inverse seesaw is the $\Delta L = 2$
term involving $\mu_X$, which is the only mass dimensional term in the
superpotential. We assume that the $Z_3$ symmetry of the
superpotential is absent only in this term.
We treat $\mu_X$ as an extremely tiny {\em effective} mass parameter
generated by some unknown dynamics.  Its smallness
would eventually decide the lightness of the light neutrino. We make a
few observations at this stage:

($i$)~ The superpotential treats the two singlets $\hat N$ and $\hat
X$ differently in the sense that it yields a $\mu_X \Psi_X \Psi_X$ Majorana
mass term ($\Delta L = 2$) but does not lead to a similar $\mu_N \Psi_N
\Psi_N$ term. This discrimination requires further qualification.  A
generic superpotential with $(-1)^L$ parity should have included the
latter term.  Both $\mu_N$ and $\mu_X$ can be
naturally small, as their absence enhances the symmetry of the
Lagrangian. But the important thing to note is that the magnitude of
$\mu_X$ (and not that of $\mu_N$) controls the size of the light
neutrino mass \cite{magut,dyna_inverse}. In view of this, for the sake
of simplicity, we have assumed $\mu_N = 0$.

($ii$)~ Two questions naturally arise here.  First, although we have
put $\mu_X$ by hand and claimed that it is tiny, is it possible to
dynamically generate a small $\mu_X$ starting from a superpotential
which does not {\em a priori} contain any mass dimensional term?
Second, is it possible to realize $\mu_N \ll \mu_X$ in a sensible
model?

To address the first question, we admit that with the particle content
of our model it is not possible to provide a natural solution for a
small $\mu_X$. One possibility could have been to start with a
trilinear $\lambda \hat S \hat X \hat X$ term in the superpotential of
Eq.~(\ref{model-exp}), which would lead to $\mu_X = \lambda
v_S$. Since $v_S \sim v$, the requirement to produce the correct light
neutrino mass would then compel us to take $\lambda \sim
10^{-11}$. Such a small dimensionless trilinear coupling would be
against the spirit of inverse seesaw mechanism as illustrated
earlier.  However, by extending the particle content of the model it
is possible to dynamically generate a small $\mu_X$.  In this context,
we recall that in the original inverse seesaw formulation
\cite{inverse}, the smallness of $\mu_X$ was attributed to the
supersymmetry breaking effects in a superstring inspired $E_6$
scenario. It is also possible to keep $\mu_X$ small by relating it to
a tiny VEV generated dynamically.  An analysis along this line was
carried out in an extended version of the NMSSM \cite{munoz_inverse},
where the origin of small VEV can be traced to the assumption of a
vanishing trilinear scalar coupling at the GUT scale. A small $\mu_X$
can also be realized in a supersymmetric SO(10) context \cite{devgut}.
Regarding the second question, we recall the example of a
non-supersymmetric SO(10) framework, which also contains the remnants
of a larger ${\rm E_6}$ symmetry \cite{magut}, where $\mu_X$ is
generated at two-loop level, but $\mu_N$ is generated at a higher loop
justifying its relative smallness.  In our work, we do not advocate
any specific GUT scenario to provide the dynamics that generates a
small $\mu_X$. We treat $\mu_X$ as an effective phenomenological
parameter of unspecified origin, whose smallness derives its origin in
some unknown hidden sector dynamics. We simply set its value to
reproduce the correct light neutrino mass.

We now illustrate the pattern of neutrino masses with only one
generation. In the $\{\Psi_\nu,\Psi_N,\Psi_X\}$ basis, the $(3 \times
3)$ neutrino mass matrix is given by
\begin{eqnarray}
{\cal M}&=&\left(
\begin{array}{ccc}
0 & m_D & 0 \\
m_D & 0 & M_N \\
0 & M_N & \mu_X \\
\end{array}\right) \ ,
\label{nmssm-matrix}
\end{eqnarray}
yielding  the mass eigenvalues  ($m_1 \ll m_{2,3}$):
\begin{eqnarray}
 m_1 = \frac{m_{D}^2 \mu_X}{m_{D}^2+M_{N}^2} \, , ~~~~
 m_{2,3} =  \mp \sqrt{M_{N}^2+m_{D}^2} +
\frac{M_{N}^2 \mu_X}{2 (m_{D}^2+M_{N}^2)}  \, .
\label{masses}
\end{eqnarray}
The important thing to observe here is that the lightness of the
smallest eigenvalue $m_1$ is due to the smallness of $\mu_X$. The
other two eigenvalues ($m_2$ or $m_3$) can have a mass around 10 GeV,
and their presence significantly influences the decay pattern of
$A_1$.

We now compute the branching ratios of $A_1$ into the invisible modes
comprising of the $\Psi_\nu$, $\Psi_N$ and the $\Psi_X$ states.  Rigorously
speaking, one should first diagonalize the mass matrix of
Eq.~(\ref{nmssm-matrix}) to determine the physical neutrino states. However,
for our purpose it suffices to estimate the branching fractions of $A_1$ into
the $\Psi_\nu \Psi_N$ and $\Psi_N \Psi_X$ interaction states.
Recall from Eqs.~(\ref{A1-def}) and (\ref{model-exp})
that the decay of $A_1$ into $\Psi_\nu \Psi_N$
will depend on how large the doublet component of $A_1$ is, i.e. on how large
$\cos\theta_A$ is, whereas the decay into $\Psi_N \Psi_X$ will
depend on the amount of $A_S$ inside $A_1$, i.e. on the magnitude of $\sin\theta_A$.
Below, we present the branching ratios into invisible modes normalised to the
visible ones (neglecting, for simplicity, the phase space effects).
\begin{eqnarray}
 \frac{{\Br}\left(A_1 \rightarrow \Psi_\nu \Psi_N \right)}
{{\Br}\left( A_1 \rightarrow
f \bar f \right)+{\Br}\left( A_1 \rightarrow c \bar{c} \right)} &\simeq&
\frac{m_{D}^2}{m_{f}^2 \tan^4 \beta + m_{c}^2} \, , \label{a1nuN}\\
 \frac{{\Br}\left( A_1 \rightarrow \Psi_N \Psi_X \right)}
{{\Br}\left( A_1 \rightarrow
f \bar f \right)+{\Br}\left( A_1 \rightarrow c \bar{c} \right)} &\simeq&
\tan^2\theta_A \frac{M_{N}^2}{m_{f}^2 \tan^2 \beta + m_{c}^2 \cot^{2} \beta}
\frac{v^2}{v_S^2} \, , \label{a1sN}
\end{eqnarray}
where $v = \sqrt{v_u^2 + v_d^2} \simeq 174$ GeV. Notice that the
dominant visible decay modes of $A_1$ are $f\bar f (f=\mu, \tau, b)$
and $c \bar c$.  Of course, the $c \bar c$ mode would be numerically
relevant if $m_{A_1} < 2m_b$ and $\tan\beta$ is small. Note that the
branching ratio into $\Psi_N \Psi_X$ dominates over that into
$\Psi_\nu \Psi_N$ for two reasons - firstly, there is a
$\tan^2\theta_A$ prefactor for the former which can be rather large if
$A_1$ has a dominant singlet component; secondly, if the $m_f^2$ term
in the denominator of the branching ratio expressions is numerically
relevant, then the $\Psi_\nu \Psi_N$ channel suffers a suppression by
an additional $\tan^2\beta$ factor.

For a numerical illustration, we make two choices of $\tan\beta = (3,
20)$, and fix $\cos\theta_A = 0.1$, which yield $X_d = \cos\theta_A \tan\beta = (0.3, 2)$.
We recall that the upper limit on $X_d$ for $\ma<8~$ GeV in the
minimal NMSSM has been obtained primarily from radiative
$\Upsilon$-decays, and the limit is between 0.7 to 3.0 for $\tan\beta =
50$, while it is 30 or above for $\tan\beta = 1.5$ \cite{Domingo:2008rr}.
A value of $X_d = 2$ is in fact slightly above the upper limit for
$\ma$ in the range of 4 to 8 GeV.  In the present scenario, $A_1$ has
a significant branching ratio into invisible modes which, in turn,
considerably relax the upper bound on $X_d$. Here we do not choose a
very large value of $\tan\beta$ as that would increase the branching ratio
of $A_1$ into visible modes.  The value of $m_{A_1}$ is chosen to be
somewhat larger than $M_N$, so that the phase space suppression, given
by the factor $\left(\left\{1-(\frac{2m_f}{\ma})^2\right\} \Big{/}
  \left\{1-(\frac{2M_N}{\ma})^2\right\}\right)^{1/2}$, is not
numerically significant. We consider two values for $M_N = (5, 30)$
GeV. The rationale behind choosing $M_N = 5$ GeV is that it allows us
to explore $\ma <10~$ GeV, a regime where constraints from $\Upsilon$-
and $B$-decays are particularly restrictive -- see Table
\ref{cons}. On the other hand, the choice $M_N = 30$ GeV implies that
${A_1}$ is moderately heavy ($\ma >30~$ GeV) which corresponds to the
range where LEP and $B$-decay constraints are relevant.  We display
our results in Table \ref{table2}. For numerical illustration, we have
assumed $v_S \sim \mathcal O(v)$.  The main conclusion is that if
$\cos\theta_A$ is small, $A_1$ has a dominant singlet component (which is
generally the case when $A_1$ is light \cite{ulrichrev}), then for a
reasonable part of the parameter space $A_1$ can have a sizable
invisible branching ratio which would weaken many of the constraints
discussed in the beginning. However, it is important to stress that
$\cos\theta_A$ should not be excessively small, since in that case the purely
singlet $A_1$ would be completely decoupled from the visible sector.

\begin{table}[!ht]
\begin{center}\
\begin{tabular}{|c|c|c|c|c|c|}
\hline
\hline
&\multicolumn{2}{c|}{$\tan \beta = 20$, $\cos \theta_A = 0.1$}
& \multicolumn{2}{c|}{$\tan \beta = 3$, $\cos \theta_A = 0.1$}\\
\hline
$M_N$ (GeV) & $5$ &$30$& $5$ &$30$ \\
\hline
\hline
${\Br}\left(A_1\rightarrow \Psi_\nu \Psi_N\right)$
& $ 7\times 10^{-5}$   &  $3\times 10^{-6}$   & $4\times 10^{-3}$
&$1\times 10^{-4}$  \\
\hline
${\Br}\left(A_1\rightarrow \Psi_N \Psi_X\right)$
& 0.7 & 0.9 & $\sim$ 1 & $\sim$ 1  \\
\hline
\hline
\end{tabular}
\end{center}
\caption{\em \small Invisible branching ratios of the lightest NMSSM
  pseudoscalar for $m_D=10$ GeV, $M_N = (5, 30)$ GeV, and $\mu_X = 1$ eV.}
\label{table2}
\end{table}

What about the CP-even Higgs mass limit?  Since the $ZZh$ coupling is diluted
with respect to its SM value as a result of singlet admixture, the direct
search (lower) limit on $m_h$ from its non-observation will be lower than the
SM limit of 114 GeV. A study based on the OPAL data from the LEP-2 run shows
how the lower limit on $m_h$ decreases (assuming the Higgs production via
Higgs-strahlung process) as $\xi \equiv \sigma(Zh) {\rm Br}(h \to ~{\rm
  invisible})/\sigma^{\rm SM} (Zh)$ gets smaller than unity
\cite{Nagai:2008zz}. In our case, we have not only a mixing between the MSSM
part of the CP-even Higgs and the singlet CP-even component, but also a
sizable branching ratio of $h \to A_1 A_1 \to ~{\rm invisible}$.  The lower
limit on the lightest CP-even Higgs mass will then decrease accordingly.

To conclude, we explore the possibility of having a very light (of order 10
GeV) pseudoscalar in the NMSSM, which has interesting consequences for CP-even
neutral Higgs search at colliders, as well as for facilitating dark matter
annihilation.  In this context, we have extended the minimal NMSSM with two
additional gauge singlets carrying opposite lepton numbers for two specific
reasons. On one hand, they provide a substantial invisible decay channel to
the lightest pseudoscalar which helps relaxing or even evading some of the
tight constraints from $\Upsilon$- and $B$-decays. On the other hand, they
naturally set up the stage for implementing the inverse seesaw mechanism in
order to generate light neutrino masses. What is phenomenologically
interesting is that this can be done using order one neutrino Yukawa couplings
and employing neutrino Dirac masses of a few tens of GeV. To account for the
experimental values of the two mass squared differences and the three mixing
angles of light neutrinos, one would of course have to extend the number of
$\hat N$ and $\hat X$ superfields.

\noindent {\bf Acknowledgments:}~
We thank U.~Ellwanger and A.M.~Teixeira for some valuable comments and
suggestions. G.B. acknowledges hospitality at the LPT, Orsay (Universit\'e de
Paris-sud 11), when this work started.  D.D. acknowledges support from the
Groupement d'Int\'er\^et Scientifique P2I.  This work has been done partly
under the ANR project CPV-LFV-LHC NT09-508531.

redpajama_set_name: RedPajamaArXiv


Which hospitality events will you be attending?
It's that time of year where the hospitality industry hosts many events. First off is the Annual Hotel Conference on 14 and 15th October held in Manchester which is the UK's leading conference for individual, boutique, branded and consortium hotel owners, operators and managers.
Guestline will be there and we would love to meet up if you too are attending, you can contact us here and we will contact you back to arrange a time to suit.
Following this conference, the Independent Hotel Show arrives on the 20th – 21st October in London which presents the latest trends, ideas and expert advice, networking opportunities as well as top suppliers, service providers, designers, luxury products and brands in the industry – creating an event specifically tailored to the owners, operators and key decision-makers in this niche sector.
Then we move on to the serviced apartment and extended stay sector which sees ASAP – the Association of Serviced Apartment Providers host the annual Serviced Apartment Conference and Exhibition on the 3rd December at ETC Venues in St Paul's, London. ASAP'S well established annual conference, provides a unique opportunity for you to debate key issues for the serviced apartment sector and meet with over 250 ASAP member employee delegates and over 30 sponsors/exhibitors.