text:
The Russian wheat aphid (Diuraphis noxia) is an aphid that can cause significant losses in cereal crops. The species was introduced to the United States in 1986 and is considered an invasive species there. This aphid is pale green and up to 2 mm long. Cornicles are very short, rounded, and appear to be lacking. There is an appendage above the cauda giving the aphid the appearance of having two tails. The saliva of this aphid is toxic to the plant and causes whitish striping on cereal leaves. Feeding by this aphid will also cause the flag leaf to turn white and curl around the head causing incomplete head emergence. Its host plants are cereal grain crops including wheat and barley and to a lesser extent, wild grasses such as wheatgrasses, brome-grasses, ryegrasses and anything in the grass family.

The Russian wheat aphid is native to southwestern parts of Asia. It was introduced to many countries in Europe and Africa. It was first found in the U.S. in 1986 in Texas. The species was probably transmitted through wheat imports.

Pest
Russian wheat aphids are one of the most significant pests on wheat in the world. It was first identified as a pest in Crimea in 1901. And the origin of D. noxia can be traced back to Eurasia when it was a pest on cereals. Aside from direct damages to crops, they are also vectors for barley yellow dwarf, barley mosaic and sugarcane mosaic viruses.

After its detection in the US in 1986, the Russian wheat aphid quickly became a major pest of wheat and barley. The researches that found D. noxia resistant strains of wheat were in 1996 but genotypes of aphids that were able to overcome these resistance strains began to appear in 2003.

D. noxia feeds on the host plant through the phloem. The result of being a host of an aphid are damages through nutrient drainage which develops into symptoms such as chlorosis, necrosis, wilting, stunting and other growth impairment. The aphid further increases the nutritional drainage of the host plant through eliciting an increase in essential amino acid in the phloem sap by triggering a breakdown of proteins in the host plant.

Effect of Aphid infestation

D. noxia has a variety of effects on the host plant and the subsequent product for which the plant is used. The host plants response to an aphid infestation is a loss of turgor and reduced growth due to water imbalances as the aphid feed on phloem. The aphid also causes reduction in biomass of the whole plant. However, once the aphid is removed the plant quickly recovers absolute growth rate and has increased relative growth. As a result of previous infestation, the recovering plants are more efficient in carbon assimilation that results in increased relative growth rates and compensates for the leaf damages during aphid infestation.

Aphid infestation on wheat also affects the flour that is made from infested wheat plants. Aphid feeding in wheat results in qualitative and quantitative losses in flour yield. Flour derived from aphid infested wheat has a significant negative effect on the gliadin/glutenin ratio which reduces the bread making quality of aphid infested wheat plant flour. However, although it does reduce the quality of flour for bread-making, it is still within acceptable ranges to be usable.

Cold resistance
As D. noxia became an invasive species in North America, it is notable that they possess enough endurance to cold temperatures to survive through winter. Aphid populations can overwinter through temperatures between 0 and 5 degrees Celsius. However, temperatures below 10 degrees Celsius will lead to catastrophic decrease in population. In addition to survivability in sub zero temperatures, the aphids are also capable of rapid cold hardiness (RCH) which allows an insect to develop protection against sudden sub freezing temperatures. Moreover, aphids are capable of RCH without any cost to their reproductive capability.

Management

Tolerance
A method to control D. noxia infestation of wheat and barley is through host control. Host control consists of raising crops that possess genes that may contribute to aphid resistance. Research has been conducted to identify the specific genes that can be attributed to aphid resistance and the information marked to assist in breeding aphid resistant strain of wheat or barley. The genes that have been identified so far have been Dn1-Dn9 and Dnx. As these genes are marked for selective breeding, it may serve to manage the population of aphids.

Extermination

Biological control
Hopper et al.'s research into biological control is based on the non-pest status of D. noxia in Eurasia, its area of origin. It is possible that natural enemies in that area limit the abundance of the aphids, therefore preventing them from becoming pests. Based on the selection of natural enemies of D. noxia in Eurasia, the paper performed a survey of host specificity of different species of parasite from the genus Aphelinus. Although host specificity and range differs from species to species, Aphelinus hordei has a much narrower range that includes D. noxia. The behavior of females of A. hordei oviposition orients the species specificity towards D. noxia. Female A. hordei rarely approaches aphids that are not of the D. noxia variety. Due to this host specificity, the paper suggests that biological control of D. noxia may be viable through A. hordei introduction into the west.

Chemical control
Potassium phosphate was studied as a resistance inducer on wheat plants against D. noxia. It may serve as a method to deal with the population of aphids that have overcome wheat's genetic resistance. The study indicated that potassium phosphate treated plants either a resistant strain or a non-resistant strain both show a decrease in aphid numbers that were feeding. Thus the data suggests treating wheat with potassium phosphate to induce tolerance against D. noxia.

References

External links
 Species Profile - Russian Wheat Aphid (Diuraphis noxia), National Invasive Species Information Center, United States National Agricultural Library. Lists general information and resources for Russian Wheat Aphid.
Russian Wheat Aphid:  An introduced pest of small grains in the High Plains, Kansas State University

Macrosiphini
Agricultural pest insects
Insects described in 1913
Hemiptera of Asia
Insect pests of wheat
Insect pests of millets


Originally $60, this inductive-charging system makes powering your iPhone as simple as laying it on a special pad. The only catch: it requires a special case as well.
Inductive chargers combine coolness and convenience like few other gadgets. Just lay your phone on a special pad and presto, it recharges--no dock, no wires, no fuss, no muss.
Unfortunately, they tend to be expensive. The Energizer Qi system I reviewed a few months back, for example, was $90 for the pad and $35 for the special case that makes the iPhone, um, inductable. Ouch.
The Powermat consists of two key items: the mat itself, which is just a hair larger than the iPhone, and an iPhone 4 case.
The latter adds a bit less than half an inch of length to your handset and about a quarter inch to its depth.The weight is a mere 1.2 ounces, but overall your iPhone will feel a bit chunkier while wearing the case. That's the price you pay for inductive charging.
You can still sync your iPhone while it's in the Powermat case (which occupies the dock port), but you need to use the supplied Micro-USB cable.
CNET hasn't reviewed this particular Powermat, but check the Best Buy product page for a couple of informative user reviews--both of which are extremely positive.
I'm a huge fan of inductive charging, but I was never willing to pay big bucks for the privilege. For just $20, though, this is too good to pass up.
Agree? Disagree? Share your thoughts in the comments!


SANTA CRUZ — Central Coast Angels, the new venture capital group focusing on Santa Cruz and Monterey counties, has found a Santa Cruz startup to like: PayStand, a platform for accepting payments.
The group, which includes investors from Google, Apple and Symantec, is interested in ag, tech, food products, genome bioinformatics and tourism and plans its third meeting Thursday night.
Central Coast Angels is accepting proposals on its website, but applicants must be recommended by one of the angels.
Startup restaurants, retailers and service businesses can turn to the Opportunity Fund, which Colligan said has granted 44 microloans totaling $750,000 in Santa Cruz and Monterey counties since May.
"Our goal is 100 in 12 months in Santa Cruz County," Colligan said.
Jeremy Almond of PayStand said it offers an alternative to the current system of financial companies eating up 3 percent on each transaction made with a credit card.
PayStand charges a monthly subscription fee for a smaller merchant, $50 a month, less for nonprofits, more for larger merchants.
"We"re hiring, so come see me afterward," he said.
Wallace Lynch of Monterey presented his Menu Meet app, which is in 27 restaurants. It provides a menu for customers, translation for international visitors, and could speed up service at stadiums and food trucks. It can be running in one hour instead of months, he said.
Jasper Eisenberg of Motrr showed off his rotating dock for iPhone, which gained 5,200 backers on Kickstarter raising $700,000.
That was not enough to cover production costs but Eisenberg was undaunted.
"We were so confident in the product, the delays and extra cost didn"t hurt," he said.
Among the suggestions the audience made: Filming soccer games and music concerts, presenting real estate for sale, making seat selection at a sporting event and inspection of hazardous areas.
Tamara Ball, who teaches a class on engineering and sustainability at UC Santa Cruz, said her students are looking for projects for next year. She also needs people to help with sodium ion battery research.
"She"s our synapse with the university," said meetup organizer Doug Erickson.
Julia Gaudinski of Santa Cruz, who developed the Mobile Ranger app for West Cliff Drive, said she is looking for a developer to work on an app for the Santa Cruz Wharf centennial.
Ben Lomond resident Sinte Nufa Gilbert came with his girlfriend, a student at UCSC.
"I"m fascinated by how fast technology is going," he said.


In a lottery, players win a large prize when they pick four digits that match, in the correct order, four digits selected by a random mechanical process. A smaller prize is won if only three digits are matched. What is the probability that a player wins the large prize? What is the probability that a player wins the small prize?
5. Find the number of equivalence relations that can be defined on a set of 6 elements.


text:
Israel to reduce Gaza fishing zone by one-third
Israel's defence ministry said that it will reduce the fishing zone from nine nautical miles to six nautical miles.
Under the Oslo Accords, fishermen are supposed to operate up to 20 nautical miles off the Gaza coast [File: Anadolu Agency]
Israel has announced further reductions of the Gaza Strip's fishing zone, stating it was in response to the weekly protests near the fence east of the coastal enclave.
Israeli Defence Minister Avigdor Lieberman's office said in a statement on Saturday that the fishing zone will be reduced from nine nautical miles to six nautical miles.
Lieberman cited Friday's "riots" at the fence dividing Gaza and Israel as contributing to his decision, in addition to the midweek beach protests in which fishing boats and protesters gathered at the northwest end of the Gaza Strip.
Three Palestinians, including a 12-year-old boy, were killed in Friday's protest, bringing the total death toll to at least 183 Palestinians since the demonstrations began on March 30.
Fishing zone restrictions
Under the Oslo Accords, fishermen are supposed to be allowed to operate up to 20 nautical miles off the coast.
However, Israel has restricted Palestinian fishing boats to a much smaller area since it imposed an economic blockade on Gaza in 2007.
Palestinian officials have accused Israeli forces of opening fire at fishermen off the Gaza coast based on claims they have violated the set fishing zone.
Earlier on Saturday, Israeli naval forces also detained two Palestinian fishermen off the coast of northern Gaza City.
Around 50,000 Gazans earn their living from fishing, according to Palestinian estimates.
After Israel's devastating military offensive on Gaza in the summer of 2014, in which some 2,150 Palestinians were killed, Israel began allowing Palestinian fishermen to fish up to six nautical miles off the Gaza coast, up from the previous three nautical miles.
Last May, Israeli authorities increased the fishing area to nine nautical miles.
SOURCE: Al Jazeera and news agencies

redpajama_set_name: RedPajamaCommonCrawl


text:
Rip and convert Blu-ray for playing on PS4 Pro
Sony PS4 Pro is a popular device to play video games as well as play movies, as more and more users want to play Blu-ray movies on PS4 Pro, in this article we would like to share the easiest way to rip and convert Blu-ray movies to unprotected HD videos like MP4, MKV, MOV, etc. and then you can play Blu-ray on PS4 Pro with supported format. Just follow the content.
Sony PS4 series is popular in recent years, PS4 is Sony's eighth-generation game console. The original version was released six years ago. After several years of iterative upgrade, the performance has been improving. The prices of different configurations of the PS4 series are also different. PS4 Pro has attracted many players with its powerful performance. The picture quality of PS4 Pro version has been significantly improved, especially the VR effect is more outstanding. What's more, the powerful playback feature can help you to play most videos and movies smoothly.
Blu-ray to PS4 Pro Playback Question
"Hi guys, what's the best way to transfer movies from Blu-ray to PS4 Pro? Is there anyone use PS4 Pro to play Blu-ray movies in MP4 or MKV format? I have got a lot of Blu-ray discs in the past years, and I purchased PS4 Pro one year ago in order to play games. Recently I would like to copy movies from Blu-ray to PS4 Pro, so that I can play Blu-ray movies on my 4K smart TV via PS4 Pro freely, but I was told that Blu-ray discs are copy protected, is there a way to get rid of Blu-ray copy protection and convert Blu-ray to MP4 or MKV format to be supported by PS4 Pro? Any suggestion is appreciated, thanks!"
Recently there are some PS4 Pro users have encountered the issue to play Blu-ray on PS4 Pro, they have bought the Blu-ray discs and want to copy movies from Blu-ray to PS4 Pro for watching freely, after they tried to copy and play Blu-ray movies on PS4 Pro, they all failed, the copied Blu-ray movies can't be played by PS4 Pro directly, just like the issue showed above, they want an easy way to solve the issue and get their Blu-ray movies to be supported by PS4 Pro.
What caused the Blu-ray to PS4 Pro playback issue?
The Blu-ray to PS4 Pro playback issue is mainly caused by the Blu-ray copy protection technology, you may want to copy movies from Blu-ray discs and then store them on PS4 Pro's HDD, and then you can play Blu-ray movies on PS4 Pro directly, you don't need to find the disc everytime, you can access to your movies more conveniently, and this method will protect your discs from damaging. But, you need to know that all purchased Blu-ray discs have copy protection, so you will not be able to copy Blu-ray movies from discs directly, in this case you can't play Blu-ray movies on PS4 Pro or other devices. Maybe you are disappointed to hear the info, but please don't worry, now we want to introduce a powerful Blu-ray ripper for you, this tool can remove copy protection from Blu-ray discs and DVD discs, and it can convert Blu-ray or DVD disc movies to unprotected videos like MP4, MOV, MKV, etc, and then you can play Blu-ray movies on PS4 Pro or any other devices freely, there is no copy protection on the movies anymore.
Best Blu-ray to PS4 Pro Converter
A good Blu-ray ripper program will help you to rip the latest Blu-ray movies to PS4 Pro supported formats at high quality, here we want to introduce the best Blu-ray to PS4 Pro converter to you, the software is Acrok Video Converter Ultimate, this program can remove copy protection from purchased Blu-ray or DVD disc movies. It will also convert Blu-ray and DVD movies to any unprotected video formats that you want, such as convert Blu-ray to MP4 for PS4 Pro. Besides Blu-ray and DVD disc movies, it can also convert 4K UHD videos and full HD videos, such as MKV, MP4, AVI, WMV, MOV, MTS, M2TS, MXF, etc. with this Blu-ray to PS4 Pro Converter software you don't need to worry any video playback issues. Now please download this Blu-ray to PS4 Pro converter and follow the easy steps below to convert Blu-ray movies to PS4 Pro supported format.
Free download Blu-ray Ripper for PS4 Pro
Features of the best Blu-ray ripper software
Rip Blu-ray and DVD disc movies, ISO files and folder;
Rip Blu-ray and DVD to PS4 Pro supported format;
Convert videos to MP4, MKV, AVI, MOV, etc.
Optimized formats for PS4 Pro, Galaxy S10 Plus, Galaxy A80, Huawei P30 Pro, etc.
NVIDIA and AMD video card acceleration technology;
Maintain original subtitles, languages, audio tracks, etc.
How to rip and convert Blu-ray to PS4 Pro compatible format?
Step 1. Download Acrok Video Converter Ultimate from the link, both Windows version and Mac version are available to use, you can convert Blu-ray to PS4 Pro on Windows or Mac computer, install this PS4 Pro Blu-ray converter on your computer, launch it you will see the main interface.
Step 2. Import Blu-ray disc movie that you want to convert. Click "Load Disc" button on the top left corner to import Blu-ray movies that you want to convert. You can load Blu-ray disc, Blu-ray ISO or Blu-ray folder, DVD disc, DVD ISO or DVD folder are all supported.
Step 3. Choose Sony PS4 Pro supported formats for output. To play Blu-ray movies on PS4 Pro smoothly, you can select "Game -> PS4 HD Video (*.mp4)", this format is well supported by PS4 Pro, or you can choose "Common Video -> H.264 Video (*.mp4)", you will get higher quality videos for playing on PS4 Pro.
Tip: With the best Blu-ray ripper software you can rip Blu-ray to popular portable devices, such as rip Blu-ray to Galaxy S10 Plus, rip Blu-ray to LG G8 ThinQ, rip Blu-ray to Galaxy A80, rip Blu-ray to Huawei P30 Pro, rip Blu-ray to iPad Air 2019, rip Blu-ray to iPad mini 5, etc. you can also rip Blu-ray to HDTVs, tablets, etc. this is very convenient for you to enjoy movies on your devices.
Step 4. Customization feature is available to use in this Blu-ray to PS4 Pro converter, if you want to adjust the output parameters before you convert movies from Blu-ray to PS4 Pro, you can click Settings button to adjust the resolution, bitrate, frame rate, codec or other parameters. If you don't need to change the parameters in this Blu-ray ripper, you can skip this step. To play Blu-ray movies on PS4 Pro smoothly, we recommend you to choose resolution as 1920*1080, choose bitrate as 1500-2500 kbps is appropriate, it will offer good quality for you.
Step 5. Click convert button on the main interface, Blu-ray to PS4 Pro conversion will begin. Acrok Video Converter Ultimate has adapted NVIDIA and AMD video card acceleration technology, so it will rip your Blu-ray movies at fast speed. When Acrok software finished the Blu-ray to PS4 Pro supported video format conversion process, you can get the converted Blu-ray movies and transfer them to PS4 Pro, now you can play Blu-ray on PS4 Pro in supported format, there will be no PS4 Pro Blu-ray playback issues anymore, just enjoy the high quality Blu-ray movies freely.
blu ray to ps4 proplay blu ray on ps4 pro
Previous post How to play Blu-ray movies on Windows Media Player?
Next post Transfer and play Blu-ray on Fire HD 10 with full screen


It was 2am when Father Houlihan heard a frantic banging on the door of his Fortess Road vicarage, so the priest stumbled down stairs in his night gown to open it.
Before him stood the acclaimed Irish poet Madge Herron who had a special favour to ask.
"One of her pet dogs had died, and she wanted him to say a special night time mass for it, there and then", recalled the poet Eddie Linden.
Eddie was one of many who came to the launch of a new biography of Madge's extraordinary life at the London Irish Centre in Camden Square on Tuesday.
Madge lived for many years in Kentish Town, and at the reading of her work and discussion of her biography by her niece Patricia Herron, stories of her creative – and somewhat eccentric – approach to life were shared while a trio played traditional Irish music.
Another relative, Joan Gibson, recalled a story about Madge and the time she heard a tapping on her door. "Madge had a sister," she said, "who was the eldest and had gone to America, and in those days the oldest would go and work to save money for the next sibling to come over.
"But this sister became a nun, so she never made any money.


I took a step forward and made the impulsive decision to leave, to start a new life far away from the haunts of the past. It was going well; new home, new car, new boyfriend, new friends and new outlook on the future and then I took what felt like ten million steps back.
It wasn't because I was still in love with Andy. Stupidly there was a part of me that questioned McDreamy's motives. Ultimately I let myself believe that no one could want me just the way I am. That I am to emotionally messed up for someone to truthfully desire me.
Making our story public was definitely not something the old me would have felt comfortable doing. I am glad I took a chance and stepped out of my comfort zone to experience what very well may have been the most refreshing and intoxicating love.
Up until now love has always been a taboo word for me. A rumored feeling that I had yet to experience, but repeatedly was spoken with no pretense. I think I finally get what all the buzz is surrounding the much hyped about word or maybe I have never been in the presence of a gentleman.
In the future I hope I will have the courage to open my heart to the idea of love without shutting down once I think I found bliss.


As the village of Barton Landing (so named for its location on the Barton River) grew in size and economic importance, residents began to feel that the name made it seem subsidiary to Barton village. In 1909, Barton Landing became Orleans. Though Ethan Allen never had anything to do with furniture manufacture, the company which bears his name has a plant in Orleans, and is the major employer in the area.
Ebas Original Cover. Grimm Fairy Tales: Robyn Hood #3 New Orleans Variant.


text:
Biggest Airport in the World and the Area They Span Across
by Shusree Mukherjee
The list of the biggest airport in the world not only gives you travel vibes but also excites you due to the amenities and entertainment it has to offer.
There are plenty of people who change halt at an airport before traveling to their actual destination. So, every traveler must know about the biggest and best airports in the world.
The world of airplanes
List of the biggest airport in the world
Beijing Daxing International Airport (PKX)
King Fahd International Airport (DMM)
Fort/Dallas Worth International Airport (DFW)
Washington Dulles International Airport (IAD)
George Bush Intercontinental Airport (IAH)
Shanghai Pudong International Airport (PVG)
Suvarnabhumi International Airport (BKK)
The busiest airport in the world
Hartsfield-Jackson Atlanta International Airport (ATL)
London Heathrow Airport (LHR)
Beijing Capital International Airport (PEK)
Chicago O'Hare International Airport (ORD)
Dubai International Airport (DXB)
For a very long time, people had imagined flying across seas and mountain ranges. Well, that did not have to stay as a part of their imagination for long.
Soon the world saw the dawn of machines that could make them fly. These machines gradually evolved and underwent various phases of development. The latest modified version of these flying buses were airplanes.
In recent times, air travel has become immensely famous amongst people from all sections of society. People, irrespective of gender and age, love traveling by air. The entire experience of traveling through the air is mesmerizing and magical.
You will be able to watch the clouds fly by. You'll be able to enjoy the view of a miniature landscape. Ah! Watch the storks race with each other through your airplane's window. The entire experience feels like something out of a Disney movie.
This is why more and more people want to travel by airplane and enjoy this mesmerizing view. Moreover, by traveling in an airplane, you can significantly cut down your travel time. Such needs and preferences of the people have developed traveling by airplane into a thriving industry.
More and more cities, states, and countries interconnect via air routes by the authorities. This has led to huge development in the industry along with that of the airplanes.
Nowadays you'll be able to find more than one kind of airplane. Some commonly used airplanes include Piston Aircraft, Jets, Narrow Body Aircraft, Wide Body Airliner, Commuter Liner, Airbus, and Concord. However, these airlines come to use according to the needs and requirements of the market.
Throughout these years, air transport has seen a constant rise in air passengers. This has led to an increase in the number of airplanes as well. Given below is a list of the biggest airports in the world.
Located in Beijing, China, the Beijing Daxing International Airport is the largest in the world.
The total land area covered by this airport is more than 18 square miles. Moreover, the terminal building has a ground area of over seven and a half million square feet.
On average, the total amount of money spent on the airport's construction was about 11 billion dollars.
According to the construction plan, by 2040, this airport will handle more than 100 million passengers.
The unique shape of the airport depicts a starfish. This design built focuses on managing the heavy influx of passengers.
According to the plan, this unique design can help passengers move from the checkpoint to the gate within eight minutes. The biggest airport in the world has also shown eco-friendliness in its design.
The airport consists of several water management plants, solar panels, and waste recovery systems.
This airport is situated in Dammam of Saudi Arabia.
Until Beijing Daxing International Airport came into the picture, this airport held the number one position in the list of largest airports.
The airport was inaugurated in 1999 and was a juncture for three main airlines; Saudi, Aramco Aviation, and Saudi Gulf Airlines.
It is one of the few airports to have a mosque. Moreover, this in-house mosque can hold more than two thousand passengers.
Along with other important amenities, the airport has a Hilton Hotel on its premises. The average number of passengers managed by this Airport is more than ten million.
This airport was inaugurated in 1995 and is one of the biggest airports in the US. The approximate area covered by the airport is more than 52 square miles.
This airport serves more than 215 destinations. About 35,000 staff are appointed for the operations of this giant space.
One of the unique attributes of this airport is the variety of aircraft that operate here.
Also located in the United States of America, this airport is huge and spans over 27 square miles. Due to the span of the airport, the home state has provided it with a unique ZIP code. This airport operates between 260 locations. It is also the primary working ground for American Airlines.
Orlando is the home to both this airport and Disney. And this played a huge role in the construction of this airport back in 1981
More than 55 million people visit Disneyland each year. Therefore it was necessary to make a large airport that could accommodate the crowd.
Currently, Orlando is home to flights that travel to more than 130 destinations. The airport spans over 11 acres of land. It is also the primary location of operation for Silver Airways.
This Airport spans over 13000 acres and has four main runways. The airport was initially named after the 52 United States secretary of state, Mr. John Foster Dulles.
Currently, this airport serves over 125 destinations in the world. The airport was inaugurated in 1962 and annually serves about 24 million travelers. This airport is the primary operating location for United Airlines.
Located in Houston, Texan, this airport is the seventh-largest in the world.
The approximate area of this airport is over ten thousand acres.
Despite being smaller than the Washington Dulles International Airport, this airport manages double its traffic.
This airport was inaugurated in 1969 and was initially known as the Houston Intercontinental Airport.
This is the second airport from China to hold a space on the list of the largest airports in the world. This airport was inaugurated in 1999 and has been the juncture of operations for numerous airlines.
These include Air China, Shanghai Airlines, China Southern Airlines, China Eastern Airlines, Juneyao Airlines, and Spring Airlines.
The presence of so many airlines makes it one of the busiest airports in China. To better manage the traffic in 2015, the planning of a third terminal and two new runways, and a satellite runway was added to the infrastructure.
Located in Heliopolis, Egypt, Cairo International airport is the only airport from Africa to have made it on this list. Approximately 15 million people travel through this airport each year.
This airport was inaugurated in 1945 and primarily consisted of four terminals. This airport is the main operating center for Egypt Air and Nile Air. The Cairo International Airport serves both domestic and international flights.
The last airport to have made it in the biggest airports in the world is Suvarnabhumi International Airport. It is situated in the southeastern part of Asia.
This airport was inaugurated in 2006 and is the main operating location for Thai Viet JET, Thai Airways, Bangkok Airways, and Thai Smile.
The airport has an area of about 8000 acres. The average amount of passengers annually managed by this airport is more than 60 million.
With the increase in air travel, newer air routes and airports have developed. However, the increase of passengers has also increased. This has led to the development of numerous airports.
These airports segregate further according to the amount of traffic that they manage annually. Airports are generally classified based on data collected by the Airport Council International (ACI).
This non-profit authority collects data from over 170 countries and declares the busiest airports each year. According to them, some of the busiest airports are as follows.
Hartsfield-Jackson Atlanta International Airport is the primary airport that serves Atlanta and many other neighboring locations. It is also known as the busiest airport in the world in terms of the number of passengers.
In 2019 the airport managed as many as one million passengers. Being situated in a convenient location, Eastern coast of the United States of America, Atlanta is the hub of worldwide air traffic.
The airport is also the main operating location for Delta Airlines. This airport is the largest in terms of both passengers and revenue.
This is one of the six airports of London and called the aviation hub. It is also one of the largest airports in the United Kingdom.
In 2019 the airport managed more than 80 million passengers. London connects numerous capitals from Europe, which makes it the hub for travelers.
The airport connects to the Middle East, North America, and Asia. This adds to the fame of this airport and its popularity in this region.
One of the unique attributes of this airport is that it is located in one of the richest cities in the world. This is evident in its decor and available amenities.
This airport is located on the western coast of the United States of America. It is also known as the gateway to international destinations in Asia and the Pacific.
This airport is the only airport in Los Angeles that has led to an incredible amount of traffic. Four main airlines have their primary operating location: Alaska Airlines, United Airlines, Delta Airlines, and American Airlines.
Also known as Peking, Beijing is the capital city of the People's Republic Of China. This city is one of the oldest and largest in the world.
It is home to more than 20 million people. This airport is the largest Chinese airline and the central operating region of Air China.
This airport, Beijing Capital International Airport, is also known as the flag carrier of China. This is mainly because the airport is the hub of traffic from all Chinese cities around the world.
This airport is close to Europe and North America. This makes it an inevitable stop for all passengers that travel to Asia.
Recently the aviation market in China has boomed. This has led to an influx of passengers. Since then, the Chinese Government has made this airport the only entry and exit point from China.
Located in one of the largest cities of the United States of America, this airport is the busiest and serves more than 84 million people annually.
Since Chicago is the home to numerous American firm headquarters, the city also consists of many train lines.
Its unique location has made it the prime operating zone for United Airlines and American Airlines. The Chicago O'Hare International Airport is also one of the first airports that supported international aviation. This adds to its uniqueness and glory.
The Dubai International Airport is one of the main airports that serve Dubai and its neighboring regions.
The growth of Dubai in the tourism sector has led to the growth of the airport as well.
The connectivity and the convenient location of the airport have made it a primary transit point and one of the busiest airports in the world.
Due to such offerings at the airport, Emirates Airlines has made it one of its primary operating locations. This airport effectively connects Asia, Africa, and Europe.
The Jewar International Airport began development in Uttar Pradesh, India. Post-construction, this airport will be one of the upcoming biggest airports in the world.
The name suggests Noida International Greenfield Airport. It is one of the few airports that has six runways.
The approximate area of the project is more than 1300 acres. The project will begin operations in 2024.
Currently, the Indira Gandhi international airport is the only airport in the country to possess three runways.
Once completed, this airport will have a spot on the list of the biggest airports in the world alongside O'Hare International Airport, Fort or Dallas International airport, and Beijing Daxing International Airport.
Tags: Biggest airport in the world by areaBusiest airport in the world by flightsTop 10 biggest airport in the world
Reasons to switch to solar power
The experience of buying Champagne wines on the Millésima website
How to Become a Better Forex Trader


No other nation has so much fun in holiday travelling like the Germans. Although they make up only about 1 percent of the world population, more than eleven percent of the worldwide travel expenses come from German purses – the title of the travel world champion is sure to us. However, where did the trips go this year?
Since a few months there is one topic, that is permanently in the news. The "new" disease (new in this context means it was discovered in the 1970's) raging in Liberia, Nigeria and Sierra Leone called Ebola.
First we have to distinguish between the Ebola-virus and the Ebola-disease. The Ebola-disease is a deadly fever-disease caused by the Ebola-virus with symptoms like fever, vomiting, muscle pain and diarrhea. The Ebola-virus itself is 800 nm long and one of the five viruses of the Group V.
There are over 15.000 infected people in the world, but over 99% of them live in west Africa, namely in Liberia, Sierra Leone, Guinea and Nigeria. Almost 5.500 of them died due to the symptoms. A big problem in these areas are the bad hygienical conditions and the lack of good care for the ill people. These problems are mainly caused by the fact that the named countries are some of the poorest countries in the world, so they just can not afford professional care on their own and are dependent on support from other countries. But there are also 4 infected people in the USA, so the virus slowly spreads into the first world, but by now there are no recorded cases of Ebola in Europe.
The Ebola-Virus is a virus from the tropical rainforests in central Africa. It spreads through direct body contact, humor and transplanted organs. It can not only spread from human to human, but also from animal to human (e.g. from monkeys) and it also infects monkeys like chimpanzees. The virus causes the deadly Ebola-disease. There are no working and proven vaccines yet, but there are many scientists doing research on it right now, because of course they want to stop the virus from spreading more than it is already. They want to stop a big epidemic before it even starts properly.
The project, which I talked about in my other article is also connected with many problems.To construct this tunnel for the underground system, they had to make many building lots. Because of these many building lots,the trains in Karlsruhe often have much delay and the volume of sales from many shops, which are difficult to reach, goes down. Many tramlines in Karlsruhe can not drive regulary, but with alternative lines. This takes up more time and is sometimes complicated, because of changing the trains.
To sum up you can say that the project will have many pros, when it is finished but during it will be finished , there are many negative aspects. So I hope that they complete it on shedule, to avoid even more problems.
Karlsruhe´s tram-train system is carrying many people through the city but also into the heart of it.
More than one million visitors came to Berlin to celebrate the 25-year anniversary of the fall of the Berlin Wall, which marked the beginning of the end of the Cold War. It existed from the 13th of August, 1961 to the 9th of November, 1989 and was the famous symbol for the divided world into east and west. 245 people left her lives at the wall for flee before the communistic system of DDR. On this day, it was thought to these courageous people and also on the day, as the wall fall. Already two days before the festival, they put up 8000 balloons straight through Berlin.
occured. Four builders were excavating a gasline from a cooperation between the chemical concern BASF and the russian gassupplier GAZPROM for maintenance.


text:
Q: Hiding some table rows I have a table with some Trs and  some Tds have hidden div and other Trs have a displayed divs on click on a button I want to get all the Trs that contain hidden divs only how to do that in jQuery
I tried :
$('div[id*="addDiv"]').filter(function() {
                return $(this).css('display') !== 'none';
            }).length;

to get the length of it ang it came correct but i want to get the whole tr data
html Code :

                Student Name
                Student Email
                Parent Phone
                Actions

    <tr id="tr<?php echo $en->id; ?>">
                    <?php echo $en->fullname; ?>
                    <?php echo $en->email; ?>
                    <td id="phone<?php echo $en->id; ?>"><?php echo $parentPhone; ?>

                        <div id="addDiv<?php echo $en->id; ?>" <?php if ($parentPhone != "-") {
                                                                    echo "style='display:none;'";
                                                                } ?>><button id='add<?php echo $en->id; ?>' data-toggle='modal' class='fired2 btn btn-primary' data-toggle='addModal' data-target='#addModal' data-id='<?php echo $en->id; ?>'>Add Parent</button>

                        <div id="editDiv<?php echo $en->id; ?>" <?php if ($parentPhone == "-") {                                                                  echo "style='display:none;'";  } ?>>
  <button data-toggle='modal' class='btn btn-success fired' data-toggle='editModal' data-target='#editModal' data-id='<?php echo $en->id; ?>' data-fname='<?php echo $userParent->firstname; ?>' data-lname='<?php echo  $userParent->lastname; ?>' data-phone='<?php echo  $userParent->phone1; ?>' data-email='<?php echo  $userParent->email; ?>' id='edit<?php echo $en->id; ?>'>Edit Parent</button>
                            <button type='button' data-id='<?php echo $en->id; ?>' id='war<?php echo $en->id; ?>' class='btn btn-outline-warning'>Delete Parent</button>

                        <button type="button" data-id="<?php echo $en->id; ?>" id="dang<?php echo $en->id; ?>" class="btn btn-outline-danger">Unenrol student from the course</button>

A: Without seeing your actual HTML, this is an assumption, however :has(div:hidden) should work:
let $trWithHiddenDivs = $('#yourTable tr:has(div:hidden)');

redpajama_set_name: RedPajamaStackExchange


text:
PERLMAN CONDUCTS MOZART REQUIEM
Apr 01 - 02 2023
Mozart's genius burns with brooding intensity in the legendary Requiem that was to become his own funeral music. Instantly recognizable thanks to its use in the multi-Academy-Award-winning film Amadeus, to experience it live is to feel its brilliance. Houston Symphony Artistic Partner Itzhak Perlman conducts orchestra, chorus, and outstanding vocal soloists in this must-see concert event.
Apr 1, 2023 at 08:00 pm (Sat)
Apr 2, 2023 at 02:30 pm (Sun)
Apr, 01, 2023 at 08:00 pm (Sat) Apr, 02, 2023 at 02:30 pm (Sun)


text:
South African Crime Quarterly
Justice Jody Kollapen (High Court Judge, Gauteng)
Dr Jonny Steinberg (Visiting Research Scholar, John Jay College, City University of New York)
Adv Ann Skelton (Director, Centre for Child Law, University of Pretoria)
Dr Jamil Muguzi (Senior Project Officer: Criminal Justice Initiative, Open Society Foundation)
Dr Cathy Ward (Senior Lecturer, Department of Psychology, University of Cape Town)
Dr Dee Smythe (Senior Lecturer, Department of Public Law, University of Cape Town)
Mr Lukas Muntingh (Project Coordinator – Civil Society Prison Reform Initiative, Community Law Cdentre, University of the Western Cape)
Dr William Dixon (Senior Lecturer in Criminology, School of Sociology & Criminology, Associate Dean for Learning & Teaching, Faculty of Humanities & Social Sciences, Keele University, England)
Professor Rudolph Zinn (Senior Lecturer, Forensic and Crime Investigation, University of South Africa)
eISSN:


When I first introduced my Sweet Potato Pie recipe a lot of people thought I was crazy – "you want me to juice a potato?" Now it has become one of my signature recipes with positive feedback from across the globe!
This new recipe is a power house of nutrition, with a delicious sweet flavour.
The addition of cinnamon makes it taste amazing, but that's not all it does.
Cinnamon may help improve how your body uses insulin.
A review published in 2008 concluded that some people with Type 2 diabetes have shown improved insulin sensitivity, lower fasting blood glucose levels and blood pressure and increased lean body mass by taking cinnamon extracts.
Insulin also plays a key role in how your body uses stored fat.
I make mine in the Optimum 400 Cold Press Juicer and the Optimum 9400 Blender.
The sweet potato, carrot, Apple and pear is really delicious Neil! Nice to have a new, easy and really different tasting juice!
I have the juice recipe and shopping list, but don't know whats IN the recipes? have I missed something?


At AAA Insulation we put the customer first. Our free, no-obligation quotes mean we can assess your property to figure out your particular needs and what best suits your house and your budget. Once your property has been assessed, we work out a plan to suit the desired requirements. To request a free quote, just email us through the contact page.
Insulation is incredibly important for keeping your house warm and healthy. Essentially it makes the internal environment more efficient. The CosyWall system is the most EXCITING PRODUCT on the N.Z. insulation market. It is a dry and safe application, which effectively saves you money in heating costs and increases the capital value of your property. Typically ceiling and floor insulation will give a constant outside to inside temperature difference of 4 to 5 degrees, whereas insulating walls as well gives you 8 to 10 degrees in temperature difference.
AAA Insulation services the entire lower North Island of New Zealand and can supply all types of insulation for almost any application. Have a look at our Wall Insulation, Roof Insulation and Floor Insulation products below.
A premium blown in cavity wall insulation product perfect for insulating New Zealand homes.
Qmulus is a soft, granulated mineral wool insulation, ideal for blowing into your ceiling or roof cavity.
A polyester fibre underfloor insulation blanket manufactured specifically for placing between floor joists, against the underside of the floor.
Click the links above to learn more about the specifics. Or just Contact Us by email and request a free quote. One of our friendly, professional team will be in touch.


Massage therapy targets the soft tissues of the body, which include muscle, connective tissue, tendons, ligaments and joints. It is also an alternative health option to alleviate the discomfort associated with everyday stresses, muscular overuse and many chronic pain syndromes.
Hydrotherapy and Therapeutic Exercise are also included in the scope of Registered Massage Therapists (RMTs). Lesley Anne White completed the 3000 hour education program making her part of the most extensively trained Massage Therapists in North America.
Massage Therapy Can Help You!
To make a booking make sure you check Lesley's schedule. If you are not finding what you need please text Lesley (fastest) at +1-604-306-0708 or E-Mail her at lesley@lesleywhite.com.
Patients with subsidized medical premiums will receive $23 from MSP per treatment (10 treatment limit).
Extended medical plans provide coverage for treatment by a Registered Massage Therapist. Each insurance provider is different and should be consulted to determine the extent of coverage.
Coverage may also be provided by ICBC, DVA, and the RCMP.
I have been in the fitness and health industry for over 25 years. For the last 13, I have been self employed as a British Columbia Registered Massage Therapist. The niche of my business is working with amateur and elite athletes; though, I have tailored my practice for the weekend warrior and yoga enthusiast. Releasing patients from restriction and discomfort to enhance their performance at work, at play, at the gym, on the mat and in competition.
I have a strong background in orthopaedics, sports rehabilitation, pre and post surgical rehabilitation (mainly back, hip, knee and shoulder surgery) and am a very capable relaxation/spa therapist.
As an adult, I ventured into endurance sports like marathons (New York 2005), trail running, triathlon and adventure racing. I even dabbled as a fitness model competitor. In 2012, I suffered a number of injuries that hindered my activity. With the assistance of a great medical community, after 3 years, I have returned to activity. My time inactive reinforced the importance of an integrated approach to healing and has developed my integration with other health care professionals to assist patients.
Now, on the right side of 40 (closer to 50), I am totally blissed out, excited about my career and loving life! Always moving forward.
With the vast treatment protocols in massage therapy combined with my degree in Kinesiology, I am able to honestly empathize with patients and develop and implement strategic treatment protocols. My treatments are heavily influenced by Myofascial Release techniques and Deep Tissue Massage though I always find myself incorporating the therapeutic properties of Swedish (Relaxation). As I am a consummate learner, I focus my continuing education credits in the above and continue my studies in Therapeutic Massage and protocols. My past treatment successes have defined the benefits of Massage Therapy in terms of enriching the quality of life for everyone. Treating the body, mind and soul connection as one entity, I am committed to restoring top performance. I am truly a goals oriented massage therapist and a conduit to their well being.
From this place, I look forward to sharing my experience, suggestions, knowledge and my community.


text:
#define pr_fmt(fmt)  "irq: " fmt

#include <linux/debugfs.h>
#include <linux/hardirq.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/irqdesc.h>
#include <linux/irqdomain.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/topology.h>
#include <linux/seq_file.h>
#include <linux/slab.h>
#include <linux/smp.h>
#include <linux/fs.h>

#define IRQ_DOMAIN_MAP_LEGACY 0 /* driver allocated fixed range of irqs.
				 * ie. legacy 8259, gets irqs 1..15 */
#define IRQ_DOMAIN_MAP_NOMAP 1 /* no fast reverse mapping */
#define IRQ_DOMAIN_MAP_LINEAR 2 /* linear map of interrupts */
#define IRQ_DOMAIN_MAP_TREE 3 /* radix tree */

static LIST_HEAD(irq_domain_list);
static DEFINE_MUTEX(irq_domain_mutex);

static DEFINE_MUTEX(revmap_trees_mutex);
static struct irq_domain *irq_default_domain;

/**
 * irq_domain_alloc() - Allocate a new irq_domain data structure
 * @of_node: optional device-tree node of the interrupt controller
 * @revmap_type: type of reverse mapping to use
 * @ops: map/unmap domain callbacks
 * @host_data: Controller private data pointer
 *
 * Allocates and initialize and irq_domain structure.  Caller is expected to
 * register allocated irq_domain with irq_domain_register().  Returns pointer
 * to IRQ domain, or NULL on failure.
 */
static struct irq_domain *irq_domain_alloc(struct device_node *of_node,
					   unsigned int revmap_type,
					   const struct irq_domain_ops *ops,
					   void *host_data)
{
	struct irq_domain *domain;

	domain = kzalloc_node(sizeof(*domain), GFP_KERNEL,
			      of_node_to_nid(of_node));
	if (WARN_ON(!domain))
		return NULL;

	/* Fill structure */
	domain->revmap_type = revmap_type;
	domain->ops = ops;
	domain->host_data = host_data;
	domain->of_node = of_node_get(of_node);

	return domain;
}

static void irq_domain_free(struct irq_domain *domain)
{
	of_node_put(domain->of_node);
	kfree(domain);
}

static void irq_domain_add(struct irq_domain *domain)
{
	mutex_lock(&irq_domain_mutex);
	list_add(&domain->link, &irq_domain_list);
	mutex_unlock(&irq_domain_mutex);
	pr_debug("Allocated domain of type %d @0x%p\n",
		 domain->revmap_type, domain);
}

/**
 * irq_domain_remove() - Remove an irq domain.
 * @domain: domain to remove
 *
 * This routine is used to remove an irq domain. The caller must ensure
 * that all mappings within the domain have been disposed of prior to
 * use, depending on the revmap type.
 */
void irq_domain_remove(struct irq_domain *domain)
{
	mutex_lock(&irq_domain_mutex);

	switch (domain->revmap_type) {
	case IRQ_DOMAIN_MAP_LEGACY:
		/*
		 * Legacy domains don't manage their own irq_desc
		 * allocations, we expect the caller to handle irq_desc
		 * freeing on their own.
		 */
		break;
	case IRQ_DOMAIN_MAP_TREE:
		/*
		 * radix_tree_delete() takes care of destroying the root
		 * node when all entries are removed. Shout if there are
		 * any mappings left.
		 */
		WARN_ON(domain->revmap_data.tree.height);
		break;
	case IRQ_DOMAIN_MAP_LINEAR:
		kfree(domain->revmap_data.linear.revmap);
		domain->revmap_data.linear.size = 0;
		break;
	case IRQ_DOMAIN_MAP_NOMAP:
		break;
	}

	list_del(&domain->link);

	/*
	 * If the going away domain is the default one, reset it.
	 */
	if (unlikely(irq_default_domain == domain))
		irq_set_default_host(NULL);

	mutex_unlock(&irq_domain_mutex);

	pr_debug("Removed domain of type %d @0x%p\n",
		 domain->revmap_type, domain);

	irq_domain_free(domain);
}
EXPORT_SYMBOL_GPL(irq_domain_remove);

static unsigned int irq_domain_legacy_revmap(struct irq_domain *domain,
					     irq_hw_number_t hwirq)
{
	irq_hw_number_t first_hwirq = domain->revmap_data.legacy.first_hwirq;
	int size = domain->revmap_data.legacy.size;

	if (WARN_ON(hwirq < first_hwirq || hwirq >= first_hwirq + size))
		return 0;
	return hwirq - first_hwirq + domain->revmap_data.legacy.first_irq;
}

/**
 * irq_domain_add_simple() - Allocate and register a simple irq_domain.
 * @of_node: pointer to interrupt controller's device tree node.
 * @size: total number of irqs in mapping
 * @first_irq: first number of irq block assigned to the domain,
 *	pass zero to assign irqs on-the-fly. This will result in a
 *	linear IRQ domain so it is important to use irq_create_mapping()
 *	for each used IRQ, especially when SPARSE_IRQ is enabled.
 * @ops: map/unmap domain callbacks
 * @host_data: Controller private data pointer
 *
 * Allocates a legacy irq_domain if irq_base is positive or a linear
 * domain otherwise. For the legacy domain, IRQ descriptors will also
 * be allocated.
 *
 * This is intended to implement the expected behaviour for most
 * interrupt controllers which is that a linear mapping should
 * normally be used unless the system requires a legacy mapping in
 * order to support supplying interrupt numbers during non-DT
 * registration of devices.
 */
struct irq_domain *irq_domain_add_simple(struct device_node *of_node,
					 unsigned int size,
					 unsigned int first_irq,
					 const struct irq_domain_ops *ops,
					 void *host_data)
{
	if (first_irq > 0) {
		int irq_base;

		if (IS_ENABLED(CONFIG_SPARSE_IRQ)) {
			/*
			 * Set the descriptor allocator to search for a
			 * 1-to-1 mapping, such as irq_alloc_desc_at().
			 * Use of_node_to_nid() which is defined to
			 * numa_node_id() on platforms that have no custom
			 * implementation.
			 */
			irq_base = irq_alloc_descs(first_irq, first_irq, size,
						   of_node_to_nid(of_node));
			if (irq_base < 0) {
				pr_info("Cannot allocate irq_descs @ IRQ%d, assuming pre-allocated\n",
					first_irq);
				irq_base = first_irq;
			}
		} else
			irq_base = first_irq;

		return irq_domain_add_legacy(of_node, size, irq_base, 0,
					     ops, host_data);
	}

	/* A linear domain is the default */
	return irq_domain_add_linear(of_node, size, ops, host_data);
}
EXPORT_SYMBOL_GPL(irq_domain_add_simple);

/**
 * irq_domain_add_legacy() - Allocate and register a legacy revmap irq_domain.
 * @of_node: pointer to interrupt controller's device tree node.
 * @size: total number of irqs in legacy mapping
 * @first_irq: first number of irq block assigned to the domain
 * @first_hwirq: first hwirq number to use for the translation. Should normally
 *               be '0', but a positive integer can be used if the effective
 *               hwirqs numbering does not begin at zero.
 * @ops: map/unmap domain callbacks
 * @host_data: Controller private data pointer
 *
 * Note: the map() callback will be called before this function returns
 * for all legacy interrupts except 0 (which is always the invalid irq for
 * a legacy controller).
 */
struct irq_domain *irq_domain_add_legacy(struct device_node *of_node,
					 unsigned int size,
					 unsigned int first_irq,
					 irq_hw_number_t first_hwirq,
					 const struct irq_domain_ops *ops,
					 void *host_data)
{
	struct irq_domain *domain;
	unsigned int i;

	domain = irq_domain_alloc(of_node, IRQ_DOMAIN_MAP_LEGACY, ops, host_data);
	if (!domain)
		return NULL;

	domain->revmap_data.legacy.first_irq = first_irq;
	domain->revmap_data.legacy.first_hwirq = first_hwirq;
	domain->revmap_data.legacy.size = size;

	mutex_lock(&irq_domain_mutex);
	/* Verify that all the irqs are available */
	for (i = 0; i < size; i++) {
		int irq = first_irq + i;
		struct irq_data *irq_data = irq_get_irq_data(irq);

		if (WARN_ON(!irq_data || irq_data->domain)) {
			mutex_unlock(&irq_domain_mutex);
			irq_domain_free(domain);
			return NULL;
		}
	}

	/* Claim all of the irqs before registering a legacy domain */
	for (i = 0; i < size; i++) {
		struct irq_data *irq_data = irq_get_irq_data(first_irq + i);
		irq_data->hwirq = first_hwirq + i;
		irq_data->domain = domain;
	}
	mutex_unlock(&irq_domain_mutex);

	for (i = 0; i < size; i++) {
		int irq = first_irq + i;
		int hwirq = first_hwirq + i;

		/* IRQ0 gets ignored */
		if (!irq)
			continue;

		/* Legacy flags are left to default at this point,
		 * one can then use irq_create_mapping() to
		 * explicitly change them
		 */
		if (ops->map)
			ops->map(domain, irq, hwirq);

		/* Clear norequest flags */
		irq_clear_status_flags(irq, IRQ_NOREQUEST);
	}

	irq_domain_add(domain);
	return domain;
}
EXPORT_SYMBOL_GPL(irq_domain_add_legacy);

/**
 * irq_domain_add_linear() - Allocate and register a linear revmap irq_domain.
 * @of_node: pointer to interrupt controller's device tree node.
 * @size: Number of interrupts in the domain.
 * @ops: map/unmap domain callbacks
 * @host_data: Controller private data pointer
 */
struct irq_domain *irq_domain_add_linear(struct device_node *of_node,
					 unsigned int size,
					 const struct irq_domain_ops *ops,
					 void *host_data)
{
	struct irq_domain *domain;
	unsigned int *revmap;

	revmap = kzalloc_node(sizeof(*revmap) * size, GFP_KERNEL,
			      of_node_to_nid(of_node));
	if (WARN_ON(!revmap))
		return NULL;

	domain = irq_domain_alloc(of_node, IRQ_DOMAIN_MAP_LINEAR, ops, host_data);
	if (!domain) {
		kfree(revmap);
		return NULL;
	}
	domain->revmap_data.linear.size = size;
	domain->revmap_data.linear.revmap = revmap;
	irq_domain_add(domain);
	return domain;
}
EXPORT_SYMBOL_GPL(irq_domain_add_linear);

struct irq_domain *irq_domain_add_nomap(struct device_node *of_node,
					 unsigned int max_irq,
					 const struct irq_domain_ops *ops,
					 void *host_data)
{
	struct irq_domain *domain = irq_domain_alloc(of_node,
					IRQ_DOMAIN_MAP_NOMAP, ops, host_data);
	if (domain) {
		domain->revmap_data.nomap.max_irq = max_irq ? max_irq : ~0;
		irq_domain_add(domain);
	}
	return domain;
}
EXPORT_SYMBOL_GPL(irq_domain_add_nomap);

/**
 * irq_domain_add_tree()
 * @of_node: pointer to interrupt controller's device tree node.
 * @ops: map/unmap domain callbacks
 *
 * Note: The radix tree will be allocated later during boot automatically
 * (the reverse mapping will use the slow path until that happens).
 */
struct irq_domain *irq_domain_add_tree(struct device_node *of_node,
					 const struct irq_domain_ops *ops,
					 void *host_data)
{
	struct irq_domain *domain = irq_domain_alloc(of_node,
					IRQ_DOMAIN_MAP_TREE, ops, host_data);
	if (domain) {
		INIT_RADIX_TREE(&domain->revmap_data.tree, GFP_KERNEL);
		irq_domain_add(domain);
	}
	return domain;
}
EXPORT_SYMBOL_GPL(irq_domain_add_tree);

/**
 * irq_find_host() - Locates a domain for a given device node
 * @node: device-tree node of the interrupt controller
 */
struct irq_domain *irq_find_host(struct device_node *node)
{
	struct irq_domain *h, *found = NULL;
	int rc;

	/* We might want to match the legacy controller last since
	 * it might potentially be set to match all interrupts in
	 * the absence of a device node. This isn't a problem so far
	 * yet though...
	 */
	mutex_lock(&irq_domain_mutex);
	list_for_each_entry(h, &irq_domain_list, link) {
		if (h->ops->match)
			rc = h->ops->match(h, node);
		else
			rc = (h->of_node != NULL) && (h->of_node == node);

		if (rc) {
			found = h;
			break;
		}
	}
	mutex_unlock(&irq_domain_mutex);
	return found;
}
EXPORT_SYMBOL_GPL(irq_find_host);

/**
 * irq_set_default_host() - Set a "default" irq domain
 * @domain: default domain pointer
 *
 * For convenience, it's possible to set a "default" domain that will be used
 * whenever NULL is passed to irq_create_mapping(). It makes life easier for
 * platforms that want to manipulate a few hard coded interrupt numbers that
 * aren't properly represented in the device-tree.
 */
void irq_set_default_host(struct irq_domain *domain)
{
	pr_debug("Default domain set to @0x%p\n", domain);

	irq_default_domain = domain;
}
EXPORT_SYMBOL_GPL(irq_set_default_host);

static void irq_domain_disassociate_many(struct irq_domain *domain,
					 unsigned int irq_base, int count)
{
	/*
	 * disassociate in reverse order;
	 * not strictly necessary, but nice for unwinding
	 */
	while (count--) {
		int irq = irq_base + count;
		struct irq_data *irq_data = irq_get_irq_data(irq);
		irq_hw_number_t hwirq;

		if (WARN_ON(!irq_data || irq_data->domain != domain))
			continue;

		hwirq = irq_data->hwirq;
		irq_set_status_flags(irq, IRQ_NOREQUEST);

		/* remove chip and handler */
		irq_set_chip_and_handler(irq, NULL, NULL);

		/* Make sure it's completed */
		synchronize_irq(irq);

		/* Tell the PIC about it */
		if (domain->ops->unmap)
			domain->ops->unmap(domain, irq);
		smp_mb();

		irq_data->domain = NULL;
		irq_data->hwirq = 0;

		/* Clear reverse map */
		switch(domain->revmap_type) {
		case IRQ_DOMAIN_MAP_LINEAR:
			if (hwirq < domain->revmap_data.linear.size)
				domain->revmap_data.linear.revmap[hwirq] = 0;
			break;
		case IRQ_DOMAIN_MAP_TREE:
			mutex_lock(&revmap_trees_mutex);
			radix_tree_delete(&domain->revmap_data.tree, hwirq);
			mutex_unlock(&revmap_trees_mutex);
			break;
		}
	}
}

int irq_domain_associate_many(struct irq_domain *domain, unsigned int irq_base,
			      irq_hw_number_t hwirq_base, int count)
{
	unsigned int virq = irq_base;
	irq_hw_number_t hwirq = hwirq_base;
	int i, ret;

	pr_debug("%s(%s, irqbase=%i, hwbase=%i, count=%i)\n", __func__,
		of_node_full_name(domain->of_node), irq_base, (int)hwirq_base, count);

	for (i = 0; i < count; i++) {
		struct irq_data *irq_data = irq_get_irq_data(virq + i);

		if (WARN(!irq_data, "error: irq_desc not allocated; "
			 "irq=%i hwirq=0x%x\n", virq + i, (int)hwirq + i))
			return -EINVAL;
		if (WARN(irq_data->domain, "error: irq_desc already associated; "
			 "irq=%i hwirq=0x%x\n", virq + i, (int)hwirq + i))
			return -EINVAL;
	};

	for (i = 0; i < count; i++, virq++, hwirq++) {
		struct irq_data *irq_data = irq_get_irq_data(virq);

		irq_data->hwirq = hwirq;
		irq_data->domain = domain;
		if (domain->ops->map) {
			ret = domain->ops->map(domain, virq, hwirq);
			if (ret != 0) {
				/*
				 * If map() returns -EPERM, this interrupt is protected
				 * by the firmware or some other service and shall not
				 * be mapped.
				 *
				 * Since on some platforms we blindly try to map everything
				 * we end up with a log full of backtraces.
				 *
				 * So instead, we silently fail on -EPERM, it is the
				 * responsibility of the PIC driver to display a relevant
				 * message if needed.
				 */
				if (ret != -EPERM) {
					pr_err("irq-%i==>hwirq-0x%lx mapping failed: %d\n",
					       virq, hwirq, ret);
					WARN_ON(1);
				}
				irq_data->domain = NULL;
				irq_data->hwirq = 0;
				goto err_unmap;
			}
		}

		switch (domain->revmap_type) {
		case IRQ_DOMAIN_MAP_LINEAR:
			if (hwirq < domain->revmap_data.linear.size)
				domain->revmap_data.linear.revmap[hwirq] = virq;
			break;
		case IRQ_DOMAIN_MAP_TREE:
			mutex_lock(&revmap_trees_mutex);
			radix_tree_insert(&domain->revmap_data.tree, hwirq, irq_data);
			mutex_unlock(&revmap_trees_mutex);
			break;
		}

		irq_clear_status_flags(virq, IRQ_NOREQUEST);
	}

	return 0;

 err_unmap:
	irq_domain_disassociate_many(domain, irq_base, i);
	return -EINVAL;
}
EXPORT_SYMBOL_GPL(irq_domain_associate_many);

/**
 * irq_create_direct_mapping() - Allocate an irq for direct mapping
 * @domain: domain to allocate the irq for or NULL for default domain
 *
 * This routine is used for irq controllers which can choose the hardware
 * interrupt numbers they generate. In such a case it's simplest to use
 * the linux irq as the hardware interrupt number.
 */
unsigned int irq_create_direct_mapping(struct irq_domain *domain)
{
	unsigned int virq;

	if (domain == NULL)
		domain = irq_default_domain;

	if (WARN_ON(!domain || domain->revmap_type != IRQ_DOMAIN_MAP_NOMAP))
		return 0;

	virq = irq_alloc_desc_from(1, of_node_to_nid(domain->of_node));
	if (!virq) {
		pr_debug("create_direct virq allocation failed\n");
		return 0;
	}
	if (virq >= domain->revmap_data.nomap.max_irq) {
		pr_err("ERROR: no free irqs available below %i maximum\n",
			domain->revmap_data.nomap.max_irq);
		irq_free_desc(virq);
		return 0;
	}
	pr_debug("create_direct obtained virq %d\n", virq);

	if (irq_domain_associate(domain, virq, virq)) {
		irq_free_desc(virq);
		return 0;
	}

	return virq;
}
EXPORT_SYMBOL_GPL(irq_create_direct_mapping);

/**
 * irq_create_mapping() - Map a hardware interrupt into linux irq space
 * @domain: domain owning this hardware interrupt or NULL for default domain
 * @hwirq: hardware irq number in that domain space
 *
 * Only one mapping per hardware interrupt is permitted. Returns a linux
 * irq number.
 * If the sense/trigger is to be specified, set_irq_type() should be called
 * on the number returned from that call.
 */
unsigned int irq_create_mapping(struct irq_domain *domain,
				irq_hw_number_t hwirq)
{
	unsigned int hint;
	int virq;

	pr_debug("irq_create_mapping(0x%p, 0x%lx)\n", domain, hwirq);

	/* Look for default domain if nececssary */
	if (domain == NULL)
		domain = irq_default_domain;
	if (domain == NULL) {
		pr_warning("irq_create_mapping called for"
			   " NULL domain, hwirq=%lx\n", hwirq);
		WARN_ON(1);
		return 0;
	}
	pr_debug("-> using domain @%p\n", domain);

	/* Check if mapping already exists */
	virq = irq_find_mapping(domain, hwirq);
	if (virq) {
		pr_debug("-> existing mapping on virq %d\n", virq);
		return virq;
	}

	/* Get a virtual interrupt number */
	if (domain->revmap_type == IRQ_DOMAIN_MAP_LEGACY)
		return irq_domain_legacy_revmap(domain, hwirq);

	/* Allocate a virtual interrupt number */
	hint = hwirq % nr_irqs;
	if (hint == 0)
		hint++;
	virq = irq_alloc_desc_from(hint, of_node_to_nid(domain->of_node));
	if (virq <= 0)
		virq = irq_alloc_desc_from(1, of_node_to_nid(domain->of_node));
	if (virq <= 0) {
		pr_debug("-> virq allocation failed\n");
		return 0;
	}

	if (irq_domain_associate(domain, virq, hwirq)) {
		irq_free_desc(virq);
		return 0;
	}

	pr_debug("irq %lu on domain %s mapped to virtual irq %u\n",
		hwirq, of_node_full_name(domain->of_node), virq);

	return virq;
}
EXPORT_SYMBOL_GPL(irq_create_mapping);

/**
 * irq_create_strict_mappings() - Map a range of hw irqs to fixed linux irqs
 * @domain: domain owning the interrupt range
 * @irq_base: beginning of linux IRQ range
 * @hwirq_base: beginning of hardware IRQ range
 * @count: Number of interrupts to map
 *
 * This routine is used for allocating and mapping a range of hardware
 * irqs to linux irqs where the linux irq numbers are at pre-defined
 * locations. For use by controllers that already have static mappings
 * to insert in to the domain.
 *
 * Non-linear users can use irq_create_identity_mapping() for IRQ-at-a-time
 * domain insertion.
 *
 * 0 is returned upon success, while any failure to establish a static
 * mapping is treated as an error.
 */
int irq_create_strict_mappings(struct irq_domain *domain, unsigned int irq_base,
			       irq_hw_number_t hwirq_base, int count)
{
	int ret;

	ret = irq_alloc_descs(irq_base, irq_base, count,
			      of_node_to_nid(domain->of_node));
	if (unlikely(ret < 0))
		return ret;

	ret = irq_domain_associate_many(domain, irq_base, hwirq_base, count);
	if (unlikely(ret < 0)) {
		irq_free_descs(irq_base, count);
		return ret;
	}

	return 0;
}
EXPORT_SYMBOL_GPL(irq_create_strict_mappings);

unsigned int irq_create_of_mapping(struct device_node *controller,
				   const u32 *intspec, unsigned int intsize)
{
	struct irq_domain *domain;
	irq_hw_number_t hwirq;
	unsigned int type = IRQ_TYPE_NONE;
	unsigned int virq;

	domain = controller ? irq_find_host(controller) : irq_default_domain;
	if (!domain) {
#ifdef CONFIG_MIPS
		/*
		 * Workaround to avoid breaking interrupt controller drivers
		 * that don't yet register an irq_domain.  This is temporary
		 * code. ~~~gcl, Feb 24, 2012
		 *
		 * Scheduled for removal in Linux v3.6.  That should be enough
		 * time.
		 */
		if (intsize > 0)
			return intspec[0];
#endif
		pr_warning("no irq domain found for %s !\n",
			   of_node_full_name(controller));
		return 0;
	}

	/* If domain has no translation, then we assume interrupt line */
	if (domain->ops->xlate == NULL)
		hwirq = intspec[0];
	else {
		if (domain->ops->xlate(domain, controller, intspec, intsize,
				     &hwirq, &type))
			return 0;
	}

	/* Create mapping */
	virq = irq_create_mapping(domain, hwirq);
	if (!virq)
		return virq;

	/* Set type if specified and different than the current one */
	if (type != IRQ_TYPE_NONE &&
	    type != (irqd_get_trigger_type(irq_get_irq_data(virq))))
		irq_set_irq_type(virq, type);
	return virq;
}
EXPORT_SYMBOL_GPL(irq_create_of_mapping);

/**
 * irq_dispose_mapping() - Unmap an interrupt
 * @virq: linux irq number of the interrupt to unmap
 */
void irq_dispose_mapping(unsigned int virq)
{
	struct irq_data *irq_data = irq_get_irq_data(virq);
	struct irq_domain *domain;

	if (!virq || !irq_data)
		return;

	domain = irq_data->domain;
	if (WARN_ON(domain == NULL))
		return;

	/* Never unmap legacy interrupts */
	if (domain->revmap_type == IRQ_DOMAIN_MAP_LEGACY)
		return;

	irq_domain_disassociate_many(domain, virq, 1);
	irq_free_desc(virq);
}
EXPORT_SYMBOL_GPL(irq_dispose_mapping);

/**
 * irq_find_mapping() - Find a linux irq from an hw irq number.
 * @domain: domain owning this hardware interrupt
 * @hwirq: hardware irq number in that domain space
 */
unsigned int irq_find_mapping(struct irq_domain *domain,
			      irq_hw_number_t hwirq)
{
	struct irq_data *data;

	/* Look for default domain if nececssary */
	if (domain == NULL)
		domain = irq_default_domain;
	if (domain == NULL)
		return 0;

	switch (domain->revmap_type) {
	case IRQ_DOMAIN_MAP_LEGACY:
		return irq_domain_legacy_revmap(domain, hwirq);
	case IRQ_DOMAIN_MAP_LINEAR:
		return irq_linear_revmap(domain, hwirq);
	case IRQ_DOMAIN_MAP_TREE:
		rcu_read_lock();
		data = radix_tree_lookup(&domain->revmap_data.tree, hwirq);
		rcu_read_unlock();
		if (data)
			return data->irq;
		break;
	case IRQ_DOMAIN_MAP_NOMAP:
		data = irq_get_irq_data(hwirq);
		if (data && (data->domain == domain) && (data->hwirq == hwirq))
			return hwirq;
		break;
	}

	return 0;
}
EXPORT_SYMBOL_GPL(irq_find_mapping);

/**
 * irq_linear_revmap() - Find a linux irq from a hw irq number.
 * @domain: domain owning this hardware interrupt
 * @hwirq: hardware irq number in that domain space
 *
 * This is a fast path that can be called directly by irq controller code to
 * save a handful of instructions.
 */
unsigned int irq_linear_revmap(struct irq_domain *domain,
			       irq_hw_number_t hwirq)
{
	BUG_ON(domain->revmap_type != IRQ_DOMAIN_MAP_LINEAR);

	/* Check revmap bounds; complain if exceeded */
	if (WARN_ON(hwirq >= domain->revmap_data.linear.size))
		return 0;

	return domain->revmap_data.linear.revmap[hwirq];
}
EXPORT_SYMBOL_GPL(irq_linear_revmap);

#ifdef CONFIG_IRQ_DOMAIN_DEBUG
static int virq_debug_show(struct seq_file *m, void *private)
{
	unsigned long flags;
	struct irq_desc *desc;
	const char *p;
	static const char none[] = "none";
	void *data;
	int i;

	seq_printf(m, "%-5s  %-7s  %-15s  %-*s  %s\n", "irq", "hwirq",
		      "chip name", (int)(2 * sizeof(void *) + 2), "chip data",
		      "domain name");

	for (i = 1; i < nr_irqs; i++) {
		desc = irq_to_desc(i);
		if (!desc)
			continue;

		raw_spin_lock_irqsave(&desc->lock, flags);

		if (desc->action && desc->action->handler) {
			struct irq_chip *chip;

			seq_printf(m, "%5d  ", i);
			seq_printf(m, "0x%05lx  ", desc->irq_data.hwirq);

			chip = irq_desc_get_chip(desc);
			if (chip && chip->name)
				p = chip->name;
			else
				p = none;
			seq_printf(m, "%-15s  ", p);

			data = irq_desc_get_chip_data(desc);
			seq_printf(m, data ? "0x%p  " : "  %p  ", data);

			if (desc->irq_data.domain)
				p = of_node_full_name(desc->irq_data.domain->of_node);
			else
				p = none;
			seq_printf(m, "%s\n", p);
		}

		raw_spin_unlock_irqrestore(&desc->lock, flags);
	}

	return 0;
}

static int virq_debug_open(struct inode *inode, struct file *file)
{
	return single_open(file, virq_debug_show, inode->i_private);
}

static const struct file_operations virq_debug_fops = {
	.open = virq_debug_open,
	.read = seq_read,
	.llseek = seq_lseek,
	.release = single_release,
};

static int __init irq_debugfs_init(void)
{
	if (debugfs_create_file("irq_domain_mapping", S_IRUGO, NULL,
				 NULL, &virq_debug_fops) == NULL)
		return -ENOMEM;

	return 0;
}
__initcall(irq_debugfs_init);
#endif /* CONFIG_IRQ_DOMAIN_DEBUG */

/**
 * irq_domain_xlate_onecell() - Generic xlate for direct one cell bindings
 *
 * Device Tree IRQ specifier translation function which works with one cell
 * bindings where the cell value maps directly to the hwirq number.
 */
int irq_domain_xlate_onecell(struct irq_domain *d, struct device_node *ctrlr,
			     const u32 *intspec, unsigned int intsize,
			     unsigned long *out_hwirq, unsigned int *out_type)
{
	if (WARN_ON(intsize < 1))
		return -EINVAL;
	*out_hwirq = intspec[0];
	*out_type = IRQ_TYPE_NONE;
	return 0;
}
EXPORT_SYMBOL_GPL(irq_domain_xlate_onecell);

/**
 * irq_domain_xlate_twocell() - Generic xlate for direct two cell bindings
 *
 * Device Tree IRQ specifier translation function which works with two cell
 * bindings where the cell values map directly to the hwirq number
 * and linux irq flags.
 */
int irq_domain_xlate_twocell(struct irq_domain *d, struct device_node *ctrlr,
			const u32 *intspec, unsigned int intsize,
			irq_hw_number_t *out_hwirq, unsigned int *out_type)
{
	if (WARN_ON(intsize < 2))
		return -EINVAL;
	*out_hwirq = intspec[0];
	*out_type = intspec[1] & IRQ_TYPE_SENSE_MASK;
	return 0;
}
EXPORT_SYMBOL_GPL(irq_domain_xlate_twocell);

/**
 * irq_domain_xlate_onetwocell() - Generic xlate for one or two cell bindings
 *
 * Device Tree IRQ specifier translation function which works with either one
 * or two cell bindings where the cell values map directly to the hwirq number
 * and linux irq flags.
 *
 * Note: don't use this function unless your interrupt controller explicitly
 * supports both one and two cell bindings.  For the majority of controllers
 * the _onecell() or _twocell() variants above should be used.
 */
int irq_domain_xlate_onetwocell(struct irq_domain *d,
				struct device_node *ctrlr,
				const u32 *intspec, unsigned int intsize,
				unsigned long *out_hwirq, unsigned int *out_type)
{
	if (WARN_ON(intsize < 1))
		return -EINVAL;
	*out_hwirq = intspec[0];
	*out_type = (intsize > 1) ? intspec[1] : IRQ_TYPE_NONE;
	return 0;
}
EXPORT_SYMBOL_GPL(irq_domain_xlate_onetwocell);

const struct irq_domain_ops irq_domain_simple_ops = {
	.xlate = irq_domain_xlate_onetwocell,
};
EXPORT_SYMBOL_GPL(irq_domain_simple_ops);

#ifdef CONFIG_OF_IRQ
void irq_domain_generate_simple(const struct of_device_id *match,
				u64 phys_base, unsigned int irq_start)
{
	struct device_node *node;
	pr_debug("looking for phys_base=%llx, irq_start=%i\n",
		(unsigned long long) phys_base, (int) irq_start);
	node = of_find_matching_node_by_address(NULL, match, phys_base);
	if (node)
		irq_domain_add_legacy(node, 32, irq_start, 0,
				      &irq_domain_simple_ops, NULL);
}
EXPORT_SYMBOL_GPL(irq_domain_generate_simple);
#endif

redpajama_set_name: RedPajamaGithub


text:
Travails keep piling up for the Bobroffs
Home | Travails keep piling up for the Bobroffs
The Pretoria High Court suspends Bobroffs from practising as attorneys; Darren's luxury home goes on the market as an "unfurnished rental" – SEE THE PICTURE; NPA head Abrahams expected to give more details this week; Complainants get order regarding their R500 000 fee – five years later; and, to the NDPP and Justice Minister's dilly-dallying on the extradition order, an angry Reuters newsman says: "It is, dare I say, nonsense!" Read on…
ANT KATZ
Judges at the North Gauteng High Court in Pretoria last week Thursday made a suspension judgment, ruling that personal injury lawyers Ronald and Darren Bobroff, who absconded to Australia, be suspended from practising as attorneys and conveyancers.
The Bobroffs face charges of fraud and money laundering, relating to suspected infringements in their handling of Road Accident Fund (RAF) claims.
Right: Darren Bobroff and his father, Ronald outside the North Gauteng High Court last month. They promised to hand themselves in the following week but absconded to Australia
The judgment is temporary and is pending the determination of the applications of the Law Society and Mathew and Jennifer Graham. Matthew Graham was injured in a car accident and the Grahams are first and second applicants in the case in the High Court against the Bobroffs. They applied to have Ronald and Darren Bobroff barred from practising as attorneys pending disciplinary proceedings against them, by either the Law Society of the Northern Provinces or the High Court.
The Grahams, who were represented by the Bobroffs in a claim against the RAF, allege that the Bobroffs deceived, defrauded and overcharged them – charges which the Bobroffs have denied.
George van Niekerk, a director at attorneys ENS Africa who acted on behalf of the Grahams, said the couple went to the Bobroffs after Matthew Graham was injured in an accident. They wanted the Bobroffs to pursue a claim against the RAF on their behalf.
While the legally allowable limit on contingency fee cases is 25 per cent of the sum awarded, "the Bobroff's collected a payment from the Road Accident Fund and picked a fee of 40 per cent of what they collected", Van Niekerk told the court.
Ronald Bobroff spun a tangled web with more knots than answers
That, he said, was way above the limit "prescribed in the Contingency Fees Act" and it became clear "that the Bobroffs were systematically overreaching their clients, in other words they were stealing from their clients under the guise of taking fees".
Van Niekerk told EWN last week Thursday that the Grahams felt vindicated that the Bobroffs had finally been suspended. He said the fugitive attorneys had taken an estimated R500 000 from the Grahams' claim and that it had taken the Grahams "about five years" to get to this point.
Meanwhile, the Sunday Times reported in "Fugitive Bobroffs house up for rent" last weekend that while Ronald Bobroff was "evading arrest in Australia, his home in Victory Park was available for rent at R30 000 a month. SA Jewish Report found out that it is actually Darren's house. "It's advertised as ideal for an entertainer," the newspaper said.
Jewish Report Online carried the story two weeks ago that the head of the National Prosecuting Authority (NPA), Shaun Abrahams, had expressed concern that the Bobroffs had evaded justice and promised to give further details this week.
ABOVE: The Victory Park house of Darren Bobroff has been advertised for R30 000 rent a month, unfurnished. The five bedroom, four-and-a half-bathroom home is listed for immediate occupation.
"I can reassure the public that the matter is receiving the requisite attention from my office and that of other law enforcement agencies," Abrahams said, according to the African News Agency (ANA).
Abrahams added that the NPA was working very closely with the various enquiries that are taking place. "I will address the issue in greater detail in two and a half weeks' time when I intend giving a press briefing in respect of the work of the National Prosecuting Authority."
The NPA inquiry adds to the long list of current investigations against the Bobroffs which include those of the Directorate for Priority Crime Investigation (the Hawks); the Law Society; the Curator of their now defunct legal practice; the Justice and Correctional Services Department; and the SA Revenue Services (SARS).
The Road Accident Fund has also been combing through all their prior cases which involved the Bobroffs and in the first week laid almost 20 charges with the NPA, claiming that the errant lawyers had billed them, the RAF, for appointments supposedly held with clients – who subsequently denied that those meetings in fact took place.
Ronald and Darren Bobroff made a name for themselves as personal injury lawyers for those injured in car accidents.
ANA confirmed from Abrahams' media briefing that the Bobroffs had disappeared ahead of handing themselves over to the Hawks.
RELATED READS ON THE BOBROFF AFFAIR
Abrahams and Justice Minister Michael Masutha, however, had declined to answer questions as to whether South African authorities were asking Australia to extradite the pair – even though the Hawks and Interpol had confirmed this earlier in the same week.
A Reuters correspondent told Abrahams in the media briefing that this was unacceptable. "There are hundreds of people (affected) and possibly tens of millions of rands lost… It is, dare I say nonsense," the reporter remarked.
Related Topics:Ant KatzBobroffsDarren BobroffRonald Bobroff
'\" Justice Justice shall thou seek \"'
nat cheiman
'Remember Barry Tannenbaum? The NPA couldn't and still can't extradite him. How on earth is Mr Abrahams and his lame ducks going extradite Bobroff? More especially as they are most probably citizens of Australia.
And what is more, in 2007, an extradition application for a South African, living there, failed on the basis that SA prisons are unfit for human habitation. In other words, SA is a banana state with important things being purchased by our government like, private jets, BMW and Mercs ( throw in the odd Range Rover). Multi million rand houses for youth league (read piesers) presidents and wholesale looting of coffers. Bobroff is a non entity insofar as Abrahams is concerned. Much more important to keep charges away from Zooma and cronies.
My advice is \"Don't hold your breath\"'
Israel and SA unite to nab Bobroffs
Jews join countrywide marches for change
Chief Rabbi in the trenches and on stage


"Sarki" is an Ottoman song form. "Hüzzam" denotes the mode used in this song. Both the lyrics and music are by Leyla Saz (1850-1936).
"Ey sabahi hüsn ü anin afitabi-i enveri"
The morning brings the beauty of the sun.
In this state with no room in my heart?


Fun Romantic Getaways in Texas – Beaches, B&B's, and Travel Ideas for Couples.
Here's our guide to travel in Texas for two! The Lone Star State is huge (800 miles across each way), so we'll just cover a few of the highlights here for a romantic getaway or weekend.
Planning Your Romantic Getaways in Texas – The best time to visit Texas would be either the spring (wildflowers blooming!) or fall, when temps are moderate. The summers can get very hot, with high humidity.
The San Antonio River Walk - it's like a small slice of Venice, Italy in downtown San Antonio!
Shops and restaurants crowd along the tree-lined canal and promenade, with historical sites like the Alamo and La Villita just a short walk away. You can pile on with the tourist crowds for a river barge tour, but just being here is the best part.
Tip: From May to early September, it can feel like 1/2 of Texas is "Walking the Walk" with you! Try late afternoon or later in the evening (after 9 PM) for a romantic stroll along the canal.
Romantic Restaurants on the San Antonio River Walk: try to land a water-side table for two along the River Walk. 2 options we like on the quieter west side: Southern cuisine with a flair is nearby at Biga on the Banks (203 S. St. Mary's St, 210-225-0722), one of the best restaurants in the San Antonio River Walk. Or just a little further east along the Walk fronting the Westin Riverwalk Hotel is Zocca (420 W. Market St, 210-444-6070) with their mouthwatering shrimp pesto pizza.
If you think the rural part of the state is just one big dry desert, think again. Texas Hill Country stands out as one of the prettiest areas of the Southwest. Where is it? Imagine a triangle of sorts between Austin, Fredericksburg and San Antonio filled with meadows and streams, rolling hills and interesting towns.
Fredericksburg, TX Romantic B&B's - spend a night or two at a great B&B in this attractive, Bavarian-style town, "deep in the heart of Texas". There's a number of day spas in the area if you'd like to really relax, or just do what we did and explore main street, checking out the shops (really friendly folks here!), sampling German sausage and tasting some local wines.
New Braunfels Vacation Rentals - affordable and romantic accommodation in condos, hotels and cabins, perfect for exploring the area. See restored and terrific Gruene Hall (America's oldest dance hall), plus check out wine tasting and antiques. Just park your car near the corner of Hunter & Gruene Rds and walk to everything.
Texas Hill Country Wine Trail - a collection of 16 wineries that have special events, tastings, etc. If you've got a car, this makes a nice road trip.
Bandera, TX - this little town northwest of San Antonio calls itself the Cowboy Capital of the world, and they're not kidding! You gotta see it! Saddle shops, saloons, horses parked alongside trucks, and some wild-west diners.
Barton Springs Pool: get relief from Austin's city heat with this springs at 2102 Barton Springs Rd. We came down for a plunge on a hot Saturday afternoon in July, and it was just crawling with people. So we recommend try this location on a quieter weekday afternoon during summer. Cost was $3 per adult.
Kerrville-Schreiner Park: enroute from Austin to San Antonio on our tour of Texas Hill Country, we stopped for a fantastic ½ hr swim in refreshing water of the Guadalupe River. Peaceful and shady, with easy access off the Hwy. 2012 park entry rates: $4 per person. The staff were great, they even gave us a 30 min pass for free to try it out! Located on Hwy 173 just south of Kerrville, TX.
Texas Honeymoon Hotel Suites & Packages - more than just a weekend getaway in the Lone Star State? If you're planning a vacation together here right after your wedding day, check out our brand new 2016 guide to the most romantic honeymoon hotels and packages in great spots like San Antonio, Houston, Dallas, Austin and the Texas Gulf Coast.
Romantic Travel in Arkansas - what to see and where to stay for getaways in Arkansas.
Dallas/Ft. Worth might be the first stop on your Texas romantic getaway if you fly here. Avant garde Deep Ellum is a cool collection of cafes, dance clubs, coffee houses and one-of-a-kind shops.
The Sixth Floor Museum at Dealey Plaza, the site of the Kennedy Assassination, is a must-see Dallas attraction, as is the Fort Worth Stockyards, for a good dose of cowboy culture and the romantic west!
Romantic Restaurants in Dallas/Fort Worth: Looking for a quieter place to enjoy some tasty ribs? TryThe Grape (2808 Greenville Ave). If you're in the mood for something more Parisian, the French Room inside the Adolphus Hotel has been rated as perhaps Dallas most romantic dining.
Romantic Hot Tub Suites in Texas - selection of hotels with private in-room Whirlpool tubs in Dallas, Houston, San Antonio, Austin TX and more.
South Congress: there's a saying down here: "Keep Austin Weird." And South Congress does it in a fun way!
If you're from out of state (like us), this entertaining strip just south of the city center will dispel a lot of myths you might have about Texas and Texans. You can eat in (big choice of restaurants) or out (food trucks), and snoop around some very eclectic stores, art retailers, pubs and clubs with promotions like "Hippie hour"!
Romantic Walk in Austin: if you want a nice stroll along the water, Lady Bird Lake Trail is an obvious choice. There's great views of the city, and if you'd rather be on the water instead of beside it, you can get on a boat tour or even rent water bikes just in front of the Hyatt Hotel.
Marker 10 at the Hyatt Hotel: Superb patio bar on the edge of Lady Bird Lake – great place to wind down under the shady trees after a long day.
If Austin is your weekend getaway destination, an interesting stop along Hwy 290 is Brenham, TX (about ½ way).
The historic downtown is good for a quick explore (Maureen found a great second-hand book store), and we ducked into Must Be Heaven (107 W Alamo) for some of their delicious Dutch apple pie with ice cream!
Hermann Park - a nice patch of green near downtown Houston. Couples can spend time by the Reflection Pool, see the Houston Zoo, or rent a paddle boat for two on McGovern Lake.
Galveston Island – Gulf coast beaches plus a whole range of amusements, activities, restaurants and accommodation.
Other romantic places in Houston include the Montrose District and it's eclectic assortment of eateries, galleries, shop and nightclubs. There's also shopping and entertainment at Bayou Place. Art lovers will appreciate the Museum of Fine Arts and the Menil Collection.
Dining for Two: For Romantic Restaurants in Houston, just around the corner from Montrose District is Westheimer Rd, where a very romantic "fondue for two" awaits in the booths of the Melting Pot (6100 Westheimer Rd). Mark's American Cuisine (1658 Westheimer Rd) with its gorgeous dining hall has been voted the most romantic restaurant in Houston.
Romantic Houston Hotels - what's the best place to stay for your romantic getaways in Texas' largest city, Houston? Find out here in our Guide to Romantic Houston TX Hotels. You'll see 3 terrific boutique hotels in downtown Houston, plus an affordable inn a little further out that's got a great pool and an awesome mid-week deal!
South Padre Island – gets swamped during spring break, but otherwise is one of Texas' top beaches for sand, warm water and swimming. Lots for dining and entertainment too.
Two Ton Tuesdays - June to Mid August, Gruene, TX - dance lessons and good times rock-a-billy live music all start at 6 PM at the legendary Gruene Dance Hall.
Deep Ellum Market - Saturdays in Dallas TX - check out the crafts, clothing, food, art and entertainment at this great neighborhood flea market, one of the best of it's kind in Texas.


A man who had no children of his own, who could not himself afford to go to college, has made it possible for hundreds of younger people and adults to attend college.
Royal Ware Sands died in 1980, survived by three sisters. His will established a trust for his sisters and directed the remainder of his estate to go to Main Street United Methodist Church, following the death of his last sister.
Mr. Sands and his late wife Claire had been members of Main Street United Methodist Church for many years, so he turned to the church to carry out his wishes.
When Mr. Sands' last sister died in 1995 and the estate was received by the church, the trustees began the task of developing guidelines to implement the philanthropist's wishes.
The first Claire Huneycutt Sands Memorial scholarships were awarded in the spring of 1996. By the spring of 1997, 100 college students had been helped by the memorial. In addition, 66 children and young people attended summer camps in the first year.
A World War I Navy veteran, Royal Ware Sands was organizer and director of the Reidsville Tobacco Market and retired as plant manager from the American Tobacco Company Leaf Department. He served as a director of the First National Bank, as chairman of the board of directors for Annie Penn Hospital, and as a member of the board of stewards of his church.
A man who lived and worked in a small town all his life, who served his community in many ways while alive, has honored his wife in a way that neither will be forgotten.
Royal Ware and Claire Huneycutt Sands will be remembered by hundreds of people for their legacy of hope for a better future.
To date, through Mr. Sands' generosity, Main Street has awarded over $4 million in scholarships for higher education in North Carolina institutions and summer camp programs for United Methodists living in the Reidsville area.
We are located on Main Street in downtown Reidsville on the corner of Main and Settle Street.


text:
2021 Detroit Auto Show Canceled, New 'Motor Bella' Show Announced For September In Pontiac
By Bria Brown January 11, 2021 at 3:36 pm
Filed Under:Detroit Auto Show, Michigan, motor bella, Pontiac
(CBS DETROIT) – On Monday, organizers announced the 2021 North American International Auto Show in Detroit has been canceled due to the ongoing coronavirus pandemic and revealed a new "Motor Bella" show announced for the fall.
Motor Bella will be held from Sept. 21-26, 2021 at the M1 Concourse in Pontiac.
The pandemic has caused changes in our society and world in ways not previously imagined, and we all should be looking for new and highly creative ways of doing business," said Executive Director Rod Alberts. "This new event captures that creative spirit. It will provide new mobility experiences and increasingly innovative approaches to tapping into the industry and its products."
Alberts said attendees can expect a multi-sensory experience at the new event. "This all-outdoor venue, with adrenaline-pumping track activities and a full complement of OEM and technology exhibits, is going to offer the sights, sounds and even the smell of all that the new world of mobility has to offer."
Dates for the 2021 Motor Bella are:
Press Preview, Tuesday, Sept. 21
AutoMobili-D, Tuesday, Sept. 21 through a half-day Thursday, Sept. 23
Industry Preview, Wednesday, Sept. 22 and a half-day Thursday, Sept. 23
Public Show, Thursday, Sept. 23 through Sunday, Sept. 26
A charity initiative, which will continue the NAIAS' and Detroit Auto Dealers Association's longstanding commitment to children and families in need, will also be part of the six-day Motor Bella.
Today we announced we will not hold the 2021 auto show as planned, but instead revealed a "bridge to the future" with an all-new show called Motor Bella. Read more: https://t.co/dEyelNAhtu pic.twitter.com/9OpWQP3bEX
— Detroit Auto Show (@NAIASDetroit) January 11, 2021
Motor Bella will be held from Sept. 21-26, 2021 at the @M1Concourse, an 87-acre playground for auto enthusiasts, that enables exhibitors to showcase key vehicles and technologies in an all-outdoor setting.
MORE FROM CBS DETROIT: 8 Michigan Businesses Cited For COVID-19 Safety Violations
MORE FROM CBS DETROIT: Clarkston Man Hospitalized 9 Times With COVID Symptoms Since Being Diagnosed In March 2020
MORE FROM CBS DETROIT: Woman Found Shot Dead, Identity Unknown