text:
Mongabay Series: Indigenous Peoples and Conservation
An Indigenous community in India's Meghalaya state offers lessons in climate resilience
by Sahana Ghosh on 13 December 2021
The Indigenous food system of the Khasi community in Nongtraw village in Meghalaya offers lessons in climate resilience and sustainable food systems, says a United Nations Food and Agricultural Organisation report.
The traditional food production system is supported by jhum (shifting cultivation), home gardens, forest and water bodies and shies away from the use of synthetic chemicals. It is based on community-led landscape management practices, regulated by local governance.
Factors such as the emergence of cash crop production (broom grass), the impact of India's public distribution system on the local subsistence system and over-reliance on market-based products are weakening the food system's resilience.
Research priorities on Indigenous food systems should include systematic documentation of a wide variety of Indigenous foods known to the Indigenous communities, their contribution to food security and dietary diversity.
In the village of Nongtraw in India's northeastern state of Meghalaya, one of the world's wettest regions, honey is a sought after resource by the Khasi Indigenous community. They go into the forests to collect it. Once they reach a beehive, they introduce themselves to the bees, "informing the bees" that they will only take what is required. This legacy of respect for local agrobiodiversity by not disrupting the ecological balance has stood the Khasi community of Nongtraw in good stead when it comes to climate change-linked food stress, underscores a United Nations report.
The UN's Food and Agricultural Organisation (FAO) report on Indigenous People's Food Systems co-published by FAO and the Alliance of Bioversity International, and CIAT includes the profiles of eight Indigenous Peoples food systems from around the world, including Uttarakhand and Meghalaya in India.
In Nongtraw, a village solely inhabited by the Khasi, diverse traditional food systems supported by jhum (shifting cultivation), home gardens, forest and water bodies, shying away from synthetic chemicals in food production and community-led landscape management underpin this Indigenous food system's resilience to climate change and sustainability.
Nongtraw lies along the mid-slope of a deep gorge in the Cherrapunji region, a highly dissected plateau along the southern margins of the Meghalaya Plateau. Satellite images of the Cherrapunji watershed, which receives record rainfall, reveal rocky outcrops on what appears to be a barren tableland with thin soil cover. But pan more, and there is a sudden green plunge: secondary forests of shifting cultivation hugging the steep slopes of the canyons and winding gorges. Jhum is the primary food production system in the community, involving two distinct land uses — agriculture and fallow forestry — that alternate in sequence and time on the same plot of land.
"I thought the canyons were very green because it is challenging for the people to do anything out there, so they remained untouched. But when I did my research (on shifting cultivation), I found that the practice of shifting cultivation is still strong in these watersheds," notes Bhogtoram Mawroh, one of the authors of the report and a member of the Khasi community.
Jhum cultivation or shifting cultivation in Kiphire district, Nagaland, India. Image by Joli via Wikimedia Commons (CC BY-SA 3.0).
The Khasis repose confidence in the resilience of their food system sustained by the robust self-governance of their community. However, factors such as the shift to cash crops (broom grass and oil palm), the impact of India's public distribution system on the local subsistence system, and over-reliance on market-based products dent their resilience.
"When the dependence on the local landscape becomes limited, and food items are now sourced from outside the community supported by government policies, agrobiodiversity goes down, and the ecological knowledge system which gives resilience to the food system is also lost. Then monoculture of cash crops becomes more dominant, which further brings down resilience," says Mawroh, senior associate, at the Meghalaya-based North East Slow Food and Agrobiodiversity Society (NESFAS).
Based on factors such as socio-economic, demographic status and health, the sensitivity of agricultural production, forest-dependent livelihoods and access to information services and infrastructure, a recent government study of 12 states in the Indian Himalayan Region and their vulnerability to climate change, found that other Indian states — Assam and Mizoram, followed by Jammu and Kashmir, Manipur, Meghalaya and West Bengal, Nagaland, Himachal Pradesh and Tripura, Arunachal Pradesh and Uttarakhand — had high vulnerabilities.
Community nutrition researcher Suparna Ghosh-Jerath who studies links between agro-biodiversity, hidden hunger, and rural Indigenous communities such as the Sauria Paharias, a particularly vulnerable tribal group (PVTG) of Jharkhand, adds that what was learned in historical times — what grows where — that knowledge may be helpful and lead to climate-friendly agricultural practices.
"What we have to examine now is how climate-resilient they are," said Ghosh-Jerath, a professor at the Indian Institute of Public Health, New Delhi. She is not associated with the FAO report.
Research priorities on Indigenous food systems should include systematic documentation of a wide variety of Indigenous foods known to the Indigenous communities (their taxonomic classification, seasonal availability, their nutritive value, their current use within the communities), their contribution to food security and dietary diversity.
"Studies should explore what dictates food habits, what are the factors that facilitate or are barriers to consumption of Indigenous foods, what should be the behavior change communication strategies to ensure the community places faith in their food systems and values it. We should, however, be cognizant that this traditional knowledge is co-produced with the Indigenous communities so that they get due recognition, acknowledgment and ownership over their traditional knowledge," Ghosh-Jerath told Mongabay-India.
More than 7,500 km away at Glasgow, Indigenous practices were under the spotlight at the COP 26 this November, the United Nations climate summit, where indigenous leaders worldwide highlighted a bouquet of climate mitigation and adaptation practices informed by indigenous and local knowledge. According to the IPCC's latest Global Assessment, these practices "can accelerate wide-scale behavior changes consistent with adapting to and limiting global warming to 1.5°C."
Indigenous ingredients and produce variety from a traditional food production system in Meghalaya. Image by NESFAS.
How Nongtraw's local landscape sustains the community
Nongtraw sits in an important center of crop origin and diversity, and the domestication of local plants is ongoing. The report emphasizes that wild fruits of yesterday are the domesticated fruits of today, referring to edibles such as the Mandarin orange. Some crops grown in the community were introduced centuries ago and are considered traditional because of their long histories in the region, such as millet, rice bean, maize, cassava, sweet potato, and potato.
As many as 63 species of plants, including cereals, legumes, roots and tubers, vegetables, fruits, nuts and seeds and other edible species, are grown in the jhum fields or the kitchen gardens. Many of the crops grown by the community have multiple varieties.
For example, jhum agriculture yields a bounty of 12 potato varieties, seven cocoyam varieties and seven sweet potato varieties. "We get our medicines from the food we grow. During COVID-19 lockdown, which saw market chain disruptions, we were able to access quality food because we traditionally rely on our local agrobiodiversity for food production," Didiana Ranee from Nongtraw told Mongabay-India.
The community uses no external inputs, especially synthetic chemicals, for food production, notes Mawroh quoting the report. "Under the jhum system, the only input used is the ash which comes from burning the biomass which has been felled when clearing the land for cultivation."
The local governance oversees the food production system, ensuring that the landscape is healthy and strengthening the food system's resilience. The Durbar Shnong (village council) is the most critical institution in the community governing natural resources making rules and regulations for protecting and preserving the forest and other natural areas within the local landscape.
"For instance, soil and aspect of the land determine farming. The higher reaches are not disturbed since they hold the source of water for the community," Mawroh adds. Aiding the work of the village council is the village development committee (VDC). Its most important function is to obtain land for cultivation. The rules and regulations it sets for harvesting natural products from the community land are intended to prevent a future shortage of land for growing food.
The Sauria Paharias of Jharkhand rely on forests and waterbodies for their food. Image courtesy of Suparna Ghosh-Jerath.
Including knowledge on local agrobiodiversity in policies
Until the mid-90s, the community in Nongtraw relied on locally produced grains, vegetables and tuber crops, including staples sweet potato, millet and cocoyams for consumption supplemented by plants and animals from the forest. "Millet is our rice," points out Pascal Ranee of Nongtraw.
However, with the introduction of the Public Distribution System in the 1980s coupled with increasing incomes and market access, rice became ubiquitous in the diet and is now the most important food of the community, substituting millet and other grain crops like Job's tears.
"Food from the market has indeed become more important for the community's diet as is the case in many parts of the world. Now, almost half of the diet comes from the market. It has benefits, especially during the lean season when crops are yet to be harvested, and there is a high dependence on forest food. The community has accepted the convenience of the market. The important point to remember, though, is that there are local substitutes available for the market-sourced food, but this is something which is not well recognized," said Mawroh.
Parallelly, the cultivation of cash crops such as broom, allowed farmers to improve their economic status, the sign of which is the replacement of the thatched roof with that of tin. But farming broom led to the depletion of water resources and degradation of soil. The report also mentions that since 2016, the government has intervened in the Khasi community of Nongtraw, restricting jhum and requiring a written document from the government for land transactions within the community.
Much like the Khasis in Nongtraw, the Sauria Paharias of Jharkhand, a particularly vulnerable tribal group (PVTG), who practice Kurwa farming (a form of shifting agriculture in forests, along with farming in agricultural lands) have switched to growing rice in place of drought-resistant millets due to agricultural interventions which mainly focused on yields.
"Under the traditional system, they accessed natural food sources such as forests and waterbodies. Through their Indigenous knowledge that was acquired from experiential learning from ancestors, they understood these foods are edible and had certain properties and promoted them within their culture. They knew what to grow and where to grow them in accordance with the local climate," Suparna Ghosh-Jerath explained.
The tribal group copes with climate variabilities, such as long dry spells and erratic rains, by using climate-resilient Indigenous crop varieties for farming, seed conservation and access to Indigenous forest foods and weeds for consumption during adverse situations and lean periods. The community recognizes that the local climate variability has affected farm productivity and diversity (due to a water-stressed environment).
These changes have also influenced the availability of Indigenous foods from natural vegetation, forests, and water bodies in the region. Flavorsome indigenous rice varieties (such as Bismunia and Dumarkani), which were consumed by the older generations, have now become almost non-existent or extinct. Millets like (Gundli or little millet), which were widespread earlier, have presently become virtually extinct, notes Ghosh-Jerath in a research that is supported by DBT/Wellcome Trust India Alliance Fellowship.
In Meghalaya, Mawroh and colleagues strive to include local agrobiodiversity in policies, particularly Neglected and Underutilised Species (NUS) in jhum cultivation that do not receive the deserved attention. "Inclusion of the agrobiodiversity in local government programs like Mid-Day Meal Scheme (a school meal program) can be another way to encourage the continued practice of the local food system," he said. For example, NESFAS encourages the establishment of school gardens from which vegetables are harvested and included in the meal for children.
Another way is to support the establishment and functioning of community seed banks. An affordable certification system could help the community realize the value of its ecologically sustainable food production system, which is organic. Further, the National Education Policy 2020 has tremendous scope to mainstream traditional knowledge systems in formal education, Mawroh adds.
He says it is vital to steer the debate away from jhum destroying forests to jhum providing valuable ecosystem services due to its landscape management approach. "Gradually, as the body of research grows, we will be able to unravel more aspects of such traditional systems."
Banner image: A farmer in a jhum field of millet cultivation. Photo by NESFAS.
This article was first published here on the Mongabay-India website on Nov. 4, 2021.
Related reading: This article is the latest in a series about Indigenous food systems, see more:
Between land and sea: Agrobiodiversity holds key to health for Melanesian tribes
In southern Colombia, Indigenous groups fish and farm with the floods
Unique Indigenous Maya food system blends cropping techniques in Guatemala
In the Arctic, Indigenous Sámi keep life centered on reindeer herding
Mali's centuries-old pastoralist traditions wilt as the climate changes
Indigenous hunter-gatherers in Cameroon diversify food sources in the face of change
Related reading: This article is the latest in a series about Indigenous food systems, see more here.
Related listening from Mongabay's podcast: Bill McKibben and others discuss action and rejuvenation after COP26 climate summit failure, listen here:
Article published by Latoyaabulu
Adaptation To Climate Change, Agriculture, Agroecology, Agroforestry, Biodiversity, Climate Change, Climate Change And Conservation, Climate Change And Food, Conservation, Environment, Food, Indigenous Communities, Indigenous Cultures, Indigenous Peoples, Subsistence Agriculture, Sustainability, Sustainable Forest Management, Traditional Knowledge, Traditional People


text:
Park Lane est une rue de la ville de Londres.

Situation et accès
Elle est située dans le district de la Cité de Westminster, dans le centre de la ville, et constitue la limite occidentale du quartier de Mayfair. Elle longe Hyde Park à l'est et relie Hyde Park Corner à Marble Arch, où se trouvent les deux stations de métro du même nom.

C'est sur Park Lane que se trouve le Mémorial des animaux de guerre érigé en 2004 à la mémoire des animaux qui ont servi et sont morts... dans les guerres et campagnes de tous les temps.

Origine du nom
La rue doit son nom au fait qu'elle longe Hyde Park.

Historique

À l'origine, Park Lane est un simple chemin de campagne à la lisière de Hyde Park, dont elle est séparée par un mur de brique. Autrefois bordée de villas et de propriétés luxueuses, longtemps l'une des rues les plus recherchées de Londres, elle abrite aujourd'hui nombre de grands hôtels, comme le Grosvenor House Hotel et le Dorchester Hotel.

Bâtiments remarquables et lieux de mémoire

 Park Lane occupe la seconde case, après Mayfair, dans la suite des propriétés les plus chères du monopoly anglais.
  : 45 Park Lane, hôtel de luxe appartenant au groupe Dorchester Collection.
  : Stanhope House, construite en 1899 et 1901.
  : Dorchester Hotel (1931).
  : Grosvenor House Hotel (1929).
  : résidence du Premier ministre britannique Benjamin Disraeli de 1839 à 1872 ; construite entre 1823 et 1825.
  : groupe d'immeubles datés des années 1820 et témoins du style architectural en vogue sur l'avenue à l'époque.
  : ici a habité le financier Moïse Montefiore (1784-1885).
  : maison où sont supposés habiter Philip Mortimer et Francis Blake, personnages de bande dessinée ; ce numéro bis est bien entendu fictif.
  : Dudley House ; demeure privée de 4100 m² comptant 17 pièces ; ancienne résidence aristocratique, elle appartient, en 2021, au cheikh Hamad Ben Abdullah Al-Thani, cousin germain de l'émir du Qatar.

  : Brook House, construite en 1867-1869.

Bâtiments démolis

 Dorchester House, bâtiment démoli en 1929 pour laisser place à l'hôtel du même nom.
 Grosvenor House, bâtiment démoli dans les années 1920 pour laisser place à l'hôtel du même nom.

Notes et références

Voie à Londres
Cité de Westminster
Voie à Londres figurant sur le plateau de Monopoly

redpajama_set_name: RedPajamaWikipedia


What are the common mistypes for Carron?
What are the usage examples for Carron?
What are the rhymes for Carron?
What are the common typos for Carron?
Carron as a girl's name is a variant of Caron (Greek), Catherine (Greek), Karen (Danish) and Katherine (Greek), and the meaning of Carron is "pure".
This graph shows how "Carron" have occurred between 1800 and 2008 in a corpus of English books.


Anyone who develops a new view of brands can also come up with the corresponding design. MARKENDIENST Musiol Oldigs Meyer strategically operates at the intersection of three marketing disciplines. We visualized this approach in the logo of our corporate design, which is used across the board, from classic stationery to the interface design.


Every region has its watershed—the area in which all the water flows toward a dominant river and defines the character of its ecology—and each watershed, on its way out to sea, speaks its own poetry. In these times of ecological crisis we ought to listen to the voice of our habitats. We can join in through poetry, becoming consonant with our places on this Earth. The shape of our tongues—the way the sounds roll off like rivers or scrape through our throats like stones—take on the form of the geography we inhabit.
The poems in Estuaries are accompanied by the photography of James Liter, many of which were taken just for the occasion of this book. In presenting the poems alongside these photographs it is not my intention to usurp the images of the poem or the reader's imagination but to complement them and engage at least one more of the bodily senses. Much like an actual estuary they are the meeting of two forms of art. You can enjoy both the poems and photographs as independent creations or you might view them as a single biome. Just as there are a variety of ways to experience an ecosystem, there are many ways in which Estuaries can be read.


text:
Firm fixed 'routine gas escapes'... but denies responsibility for island 'stench'
Canvey gas stench is still a mystery
By Toby Emes Reporter
calor gas canvey island
A GAS company has now confirmed it fixed "several routine gas escapes" on Canvey...but denied responsibility for the ongoing stench.
Families have raised serious fears about the powerful smell during the past ten days.
Yesterday, a spokesman for Cadent Gas, the firm responsible for gas mains on the island, claimed there was nothing unusual about repair jobs during the past week.
A spokesman said: "We attended several routine gas escapes in the area last week and all of these were made safe.
"If anyone thinks they can smell gas or suspects a gas escape they should call 0800 111 999."
However, when asked whether these could be responsible for the strong smells reported the spokesman claimed the leaks were on a small scale and were unlikely to be the cause.
The Environment Agency confirmed it is "looking into the issue" last week while Calor Gas said complaints this week may be due to a stenching agent.
A spokesman for Calor Gas, based at Canvey Terminal, Thames Road, said: "We have just done a routine change of one of our mercaptan barrels.
"This is the stenching agent we use and is not the gas itself.
"This may leave a smell in the air for a short while, but it is not a gas release and is no cause for alarm."
A source from Calor Gas told the Echo this stenching agent was used yesterday so could not be blamed for last week's smell which the firm claimed was from a mains leak.
A spokesman from Calor Gas said: "There have been no leaks from the facility and the odour is not connected to this site."
The statements come after residents expressed serious concerns over whether there had been a gas leak that could be dangerous and have ramifications on people's health.
As a result of the stench, a class from Castle View School, Foksville Road, were evacuated temporarily last week as the caretaker took safety precautions.
Other residents raised concerns about the smell throughout the course of the last week and into this week.
The Environment Agency is due to report its findings once an investigation into the problem is concluded in due course.

redpajama_set_name: RedPajamaCommonCrawl


text:
David_Foster
Allen & Overy advises Investcorp on Trukker's Pre-IPO round
Banking & Finance Transport United Arab Emirates
Saudi-based Trukker Holding Limited ("Trukker"), digital freight network providers in the MENA region, has successfully raised USD 100 million in its pre-IPO financing round.
The investment was led by the recently-launched Investcorp Saudi Pre-IPO Growth Fund and further included Abu Dhabi's Mubadala Investment Company, who is an existing investor in the venture, KSA-based Riyad Valley Capital, Egypt's Reliance Group and Iraq-based March Holding.
Trukker connects shippers and carriers via a proprietary cloud-based platform. The company serves over 700 B2B enterprise clients, has a carrier network of over 45,000 trucks inducted on its platform and is expected to achieve revenues of USD200 million in 2022.
Trukker has previously raised USD96 million, in a combination of equity and debt financing, with investors including Mubadala and Abu Dhabi sovereign wealth funds ADQ.
Allen & Overy advises Investcorp on leading Tukker's pre-IPO round. A&O team was led by Middle East head of corporate David Foster (pictured).
Tags: Allen & Overy cn2 David Foster


3-D visualization and virtual reality are a great way to simplify communication and connect with customers.
EFLA's 3-D specialists have been making 3-D visualizations for over 15 years to help bring ideas and designs to life. By capitalizing on the wide range of experience from different fields of digital media, EFLA's specialists can create an immersive experience with rich content and a memorable user experience.
3-D visualization and virtual reality can enhance the user's experience and help make more informed design decisions. Combining VR and game elements can also be used as an effective way to enhance employee training.


text:
Q: Problem with simple laplacian equation I would like to solve the following PDE:
$$
\partial_x^2 u + \partial_y^2 u = -\frac{2 x^2 (x^2-y^2)}{\left(x^2+y^2\right)^2}
$$
The right side comes from $ x^2 \partial_x^2 \log(x^2 +y^2) $. Switching the polar coordinates, the right side is deceptively simple:
$$
-2 \cos(\theta)^2 \cos(2 \theta)
$$
In polar coordinates, the laplacian is:
$$
\partial_r^2 + \frac{1}{r}\partial_r + \frac{1}{r^2} \partial_\theta^2
$$
so it seems as though it should be fairly simple to find a solution. If I assume $ u(r, \theta) $ is like $ r^2 F(\theta) $, and try to solve for theta, I get something that is not periodic in $ \theta $. I am not sure if there is nonetheless a way to extract a meaningful solution. I'm at a bit of a loss for any other approaches. Any suggestions?
Edit: For $ F(\theta) $, I used mathematica to get:
$$
F(\theta) = \frac{1}{24} (-3 - 3 \cos(2 \theta) + \cos(4 \theta) - 6 \theta \sin(2 \theta))
$$
Plus of course any homogenous solution. It is the $ \theta \sin (2 \theta) $ term that makes me so sad.

A: Let's not forget that for many purposes, logarithm is a monomial of degree $0$. That is, we should consider $r^2\log r$ alongside with $r^2$. Letting
$$u(r)=r^2F(\theta)+r^2\log r\,G(\theta) \tag1$$
we arrive at the system
$$F''+4F+4G=-2\cos^2 \theta \, \cos 2\theta,\qquad G''+4G=0 \tag2$$
Solving these, we get a bunch of constants. One of them allows us to get rid of $\theta\sin 2\theta$; specifically, $$F(\theta)=\frac{1}{24} \cos4\theta, \qquad
 G(\theta)=-\frac14\cos 2\theta \tag3$$ if I got the computations right.

Remark: this example shows that solution of $\Delta u=f$ with bounded $f$ does not have locally bounded second-order derivatives in general. (E.g., $u_{rr}$ is unbounded here.) This is in contrast to the fact that for $1<p<\infty$ having $\Delta u\in L^p$ implies $u\in W_{\rm loc}^{2,p}$. Put another way, we witness the failure of the Riesz transforms to preserve $L^\infty$ the way they preserve $L^p$ for $1<p<\infty$.
But if $\Delta u$ was Hölder- or Dini-continuous, we would have $u\in C^2$.

A: Let $\begin{cases}p=x+iy\\q=x-iy\end{cases}$ ,
Then $\dfrac{\partial u}{\partial x}=\dfrac{\partial u}{\partial p}\dfrac{\partial p}{\partial x}+\dfrac{\partial u}{\partial q}\dfrac{\partial q}{\partial x}=\dfrac{\partial u}{\partial p}+\dfrac{\partial u}{\partial q}$
$\dfrac{\partial^2u}{\partial x^2}=\dfrac{\partial}{\partial x}\left(\dfrac{\partial u}{\partial p}+\dfrac{\partial u}{\partial q}\right)=\dfrac{\partial}{\partial p}\left(\dfrac{\partial u}{\partial p}+\dfrac{\partial u}{\partial q}\right)\dfrac{\partial p}{\partial x}+\dfrac{\partial}{\partial q}\left(\dfrac{\partial u}{\partial p}+\dfrac{\partial u}{\partial q}\right)\dfrac{\partial q}{\partial x}=\dfrac{\partial^2u}{\partial p^2}+\dfrac{\partial^2u}{\partial pq}+\dfrac{\partial^2u}{\partial pq}+\dfrac{\partial^2u}{\partial q^2}=\dfrac{\partial^2u}{\partial p^2}+2\dfrac{\partial^2u}{\partial pq}+\dfrac{\partial^2u}{\partial q^2}$
$\dfrac{\partial u}{\partial y}=\dfrac{\partial u}{\partial p}\dfrac{\partial p}{\partial y}+\dfrac{\partial u}{\partial q}\dfrac{\partial q}{\partial y}=i\dfrac{\partial u}{\partial p}-i\dfrac{\partial u}{\partial q}$
$\dfrac{\partial^2u}{\partial y^2}=\dfrac{\partial}{\partial y}\left(i\dfrac{\partial u}{\partial p}-i\dfrac{\partial u}{\partial q}\right)=\dfrac{\partial}{\partial p}\left(i\dfrac{\partial u}{\partial p}-i\dfrac{\partial u}{\partial q}\right)\dfrac{\partial p}{\partial y}+\dfrac{\partial}{\partial q}\left(i\dfrac{\partial u}{\partial p}-i\dfrac{\partial u}{\partial q}\right)\dfrac{\partial q}{\partial y}=-\dfrac{\partial^2u}{\partial p^2}+\dfrac{\partial^2u}{\partial pq}+\dfrac{\partial^2u}{\partial pq}-\dfrac{\partial^2u}{\partial q^2}=-\dfrac{\partial^2u}{\partial p^2}+2\dfrac{\partial^2u}{\partial pq}-\dfrac{\partial^2u}{\partial q^2}$
$\therefore\dfrac{\partial^2u}{\partial p^2}+2\dfrac{\partial^2u}{\partial pq}+\dfrac{\partial^2u}{\partial q^2}-\dfrac{\partial^2u}{\partial p^2}+2\dfrac{\partial^2u}{\partial pq}-\dfrac{\partial^2u}{\partial q^2}=-\dfrac{2\left(\dfrac{p+q}{2}\right)^2\left(\left(\dfrac{p+q}{2}\right)^2-\left(\dfrac{p-q}{2i}\right)^2\right)}{(pq)^2}$
$4\dfrac{\partial^2u}{\partial pq}=-\dfrac{2\times\dfrac{(p+q)^2}{4}\left(\dfrac{(p+q)^2}{4}+\dfrac{(p-q)^2}{4}\right)}{p^2q^2}$
$\dfrac{\partial^2u}{\partial pq}=-\dfrac{(p+q)^2((p+q)^2+(p-q)^2)}{32p^2q^2}$
$\dfrac{\partial^2u}{\partial pq}=-\dfrac{2(p+q)^2(p^2+q^2)}{32p^2q^2}$
$\dfrac{\partial^2u}{\partial pq}=-\dfrac{(p^2+2pq+q^2)(p^2+q^2)}{16p^2q^2}$
$\dfrac{\partial^2u}{\partial pq}=-\dfrac{p^4+2p^3q+2p^2q^2+2pq^3+q^4}{16p^2q^2}$
$\dfrac{\partial^2u}{\partial pq}=-\dfrac{p^2}{16q^2}-\dfrac{p}{8q}-\dfrac{1}{8}-\dfrac{q}{8p}-\dfrac{q^2}{16p^2}$
$u(p,q)=f(p)+g(q)+\dfrac{p^3}{48q}-\dfrac{p^2\ln q}{16}-\dfrac{pq}{8}-\dfrac{q^2\ln p}{16}+\dfrac{q^3}{48p}$
$u(x,y)=f(x+iy)+g(x-iy)+\dfrac{(x+iy)^3}{48(x-iy)}-\dfrac{(x+iy)^2\ln(x-iy)}{16}-\dfrac{x^2}{8}-\dfrac{y^2}{8}-\dfrac{(x-iy)^2\ln(x+iy)}{16}+\dfrac{(x-iy)^3}{48(x+iy)}$

redpajama_set_name: RedPajamaStackExchange


text:
Philosophy of Math question: Has anyone ever claimed that one minus one does not equal zero, but instead equals negative one(or just 1-1)?
This question is based off of the observation that the notion of zero depends on the presence of absence. I can say there is 1 banana right over there or there are 2 bananas right over there and when I do you can look over there and see the 1 or 2 bananas. But when I say there are zero banana's over there, when you look, you will just wonder why I pointed it out. Is there not then, some sense in which zero is not a "number" at all, but the noticing of the presence of absence? Which is a lot more like there being -1 banana(or maybe just 1-1 bananas), than it is quite like there being "zero" bananas.
reference-request
Mauro ALLEGRANZA
No. If 1-1=-1 then 1=0, which is much more undesirable than "presence of absence". Even aside from the absurdity of it, historically, negative numbers had even harder time getting accepted than zero (some opposed them until the 19th century), so -1 was not an appealing alternative.
– Conifold
"But when I say there are zero banana's over there, when you look, you will just wonder why I pointed it out." - This is a matter of pragmatics in linguistics, ie. of the context, and is by no way limited to pointing out 0 objects: If you have been discussing the aesthetics of sports cars and you say 'there is 1 banana over there', your interlocutor will be baffled at least as much. The other way round, if you have been discussing the places where certain fruits flourish, highlighting that at some place there are zero bananas comes completely natural.
– collapsar
I always say that 0 is nothing the size of one. Or that 0 is the "space" one would take up if it were there. Quite similar to your noticing the presence of absence. However, if I point at a banana and call it 1 banana there's that. If I remove the banana (1-1) and point where it was, now there are 0 bananas. There are also 0 cars, but we were talking about bananas. If I pointed at empty space, you wouldn't think "why, that's an absence of a banana". It's more like an absence of anything the size of one. It's like zero is infinity until you define a 1, then 0 comes along with that.
– Ron Kyle
In some buildings you have ...,-2, -1, 1, 2 ,... floors numbering.
– Anixx
This sort of thing (claiming 1-1 does not equal zero) happens all the time in elementary algebra classes, where it is referred to as an arithmetic error or "mistake".
Regarding whether or not zero qualifies as a "real" number, it occupies a "real" position on the number line and in decimal notation indicates the absence of specific powers of ten in the number containing it. In this sense it is as real as any other digit.
niels nielsenniels nielsen
Greek and Roman number systems did not have zero. Roman numerals were still preferred in accounting in some places until the 1800s. Zeno's paradox depends in large part on uncertainty on interpreting zero.
The crucial function of zero is as a placeholder in a place-value system, in our case normally base ten.
Egyptians have the earliest recorded use of zero, using the same hieroglyph for financial records showing neither debt nor credit, and to mark the base level of tombs with measurements taken above and below. They did not have a positional system however, which we got from India, along with our numerals. A case has been made that the spiritual ideas of India helped them be comfortable with zero, with the same base word 'sunya' used in the defining Buddhist term sunyata (emptiness, or dependent origination).
I find it hard it hard to understand your specific suggestion. There is
1 - (-1)
And there is 'one lot of minus one', which is 1 x - 1
When you 'point at zero', it only becomes zero bananas in context of banana calculations, and this is telling. Zero occurs meaningfully and naturally in accounting and geometry. It seems to be it occuring 'in the numberline itself' that people have a problem with, like with imaginary numbers. Numbers are a tool, we map them to things in ways that are useful, and recycle what we learn for other mappings.
Your question makes me think of:
Yes! We have no bananas
CriglCraglCriglCragl
"Greek and Roman number systems did not have zero." Yes, they did not have the symbol but it is hard to maintain that they do not have the concept: "having no bananas".
– Mauro ALLEGRANZA
@MauroALLEGRANZA: "The ancient Greeks were aware of the concept of zero (as in 'We have no marbles'), but didn't think of it as a number. Aristotle had dismissed it because you couldn't divide by zero and get a down-to-earth result. The Romans never used their numerals for arithmetic, thus avoiding the need to keep a column empty with a zero symbol." theguardian.com/notesandqueries/query/0,5753,-1358,00.html
– CriglCragl
Agreed... but the issue is: the OP seems to think that - in the absence of the symbol for zero - maybe the Ancient Greek think that one bananas minus one bananas does not equal no bananas, but instead equals negative one banana. IMO, it is hard to maintain this...
Zero doesn't depend on the "presence of absence"; it is just the cardinal number of the empty set. Even in ancient times, people were well aware of emptiness, or empty sets, or classes that had no members:
That jug is half full of beer, and that other jug is empty.
Abraham has 1000 sheep and Lot has no sheep.
Cyrus has 10,000 horses and Xenophon has no horses.
Zero is just a convenient notation, a sign for this well-understood concept that allows arithmetic to be more regular. Instead of saying "4 jugs - 4 jugs leaves you with no jugs", you can can say "4 jugs - 4 jugs = 0 jugs", and then simplify further to "4-4=0".
There is nothing mysterious about zero just as there is nothing mysterious about negative numbers or fractions, once you understand what they are intended to represent.
David GudemanDavid Gudeman
Substraction is defined as adding the ( additive) inverse of a number.
So , by definition : n- m = n+(-m)
By definition a number b is the additive inverse of a number a iff a+b = 0.
( In general, the " inverse" of an objet is the one that yields the identity or neutral element for a given operation; the identity element for addition is the number 0)
The additive inverse of 1 is -1.
Putting all this together we get :
(1) 1-1 = 1 + (-1)
(2) 1+(-1) = 0.
Floridus FloridiFloridus Floridi
Not the answer you're looking for? Browse other questions tagged reference-request or ask your own question.
Am I still the same person as I was yesterday?
Is existence a feature of life? Can a stone exist without life to recognize it?
"Proper" and "improper" functions of objects in art
Is all meaning just comparison/measurement? (Reference request)
Authors on the Business of Philosophy and the Philosopher's ego
Is atheism about the existence of Deities or a personal perception of Sacredness?
Can science prove or provide evidence that the brain is the source of the mind
Could there be any situation justifies crime?


Return euro-tunnel crossing (Folkestone - Calais). Alternative ferry crossings are available (supplement will apply).
Service throughout the trip of British Bike Tours guides.
If you are new to motorcycling and are keen to develop your motorcycling skills on the fantastic French roads then this could be the ideal tour. Similarly, if you have been riding bikes for a number of years but have never ventured abroad then this is the ideal introduction to riding a motorcycle in Europe. It is also the ideal tour for riders with pillions.
We will ensure that you experience the best of what France has to offer. This area of France is home from home for us - our French house which we have owned and developed since 2002 is ideally located on the regional borders of Normandy and the Loire Valley. As such we know this beautiful, unspoilt and historic part of France extremely well.
Arrival day in France. Our usual crossing (included in tour cost) is the Euro-tunnel crossing from Folkestone to Calais. Alternatively, for an additional supplement we can organise a Portsmouth - Caen, Newhaven - Le Havre crossing or if you travelling down from the North or Scotland we can help organise the Newcastle- Amsterdam or Hull - Zeebrugge crossing.
After a short spell on the motorway to get us out of Northern France, we head towards the coastal road. Our first overnight stop will be the lovely coastal town of Honfleur. This beautiful town is a superb place to stay. A really picturesque harbour and a favourite haunt of the artist, Monet.
After a traditional French breakfast and short safety briefing we will begin our journey along the beautiful Normandy coast.
The first days ride will take us at a gentle pace along twisty rural roads through delightful villages and beautiful scenery. There will be plenty of opportunities for photos, coffee and snacks.
The route to our hotel will take us past our first D-Day sites, including the famous Pegasus Bridge which was taken by the 6th British Airborne Division on the night of the 5th June and the Merville battery. These airborne troops were the first to land in Normandy.
Then its on to the coast road and past the beaches of Sword, Juno and Gold and up the cliffs overlooking Arromanches and the remains of the famous Mulberry harbour. Here we will stop for a short while for a snack, coffee and to visit the 360 degree cinema. The latter is highly recommended.
From Arromanches it is only a short distance to the infamous Omaha beach and the poignant American cemetery. Then onto Pointe Du Hoc where one of the most strenuous, dangerous, and demanding missions took place. Lt. Col. James Earl Rudder's was ordered to take his Second Ranger Battalion of roughly 200 men and land on a shingled shelf, scale the imposing 100-foot-high cliff while under hostile fire, and then destroy the six enemy guns. Pointe Du Hoc is now a memorial to these men and has remained untouched since D-Day.
After a long but interesting day we will arrive at our hotel in the St Mere Eglise area for a well earned beer, glass of wine and evening meal.
Again up bright and early. After a traditional French breakfast, our first destination will be the airborne museum at St Mere Eglise. St Mere Eglise is famous for being the centre of US airborne operations on 6th June 1944. It was in this region that many of the 82nd and 101st US Airborne units (Band of Brothers) landed. Then it is off to the beaches of Utah before hitting the glorious and barely used Normandy roads.
We will overnight in the beautiful but little known town of Fougeres in Britanny. Fougeres is home to one of the largest medieval castles in Europe - it is a splendid sight and we will make sure you get time to visit the castle and the beautiful gardens that surround it. It is only a short walk from our hotel - we will then take you to one of our favourite restaurants for a lovely and very reasonably priced dinner, cooked from locally grown seasonal produce.
Today, is a pure biking day. We will take you on little used country roads through the beautiful countryside of Normandy and Pays De Loire. The Loire valley is a truly spectacular place. A UNESCO World Heritage Site, the area is renowned for its fantastic chateaux, luxuriant landscape, magnificent food and wine. The area combines a leisurely pace of life with a mild climate, mellow wines and rich food. What could be better than travelling by motorcycle through the centre of this beautiful French region.
As we approach the banks of the Loire, we will follow the 'Route Touristique du Vignoble'. This route will take us through some of the region's prettiest wine country. The actual road we will use is known as the 'Corniche Angevine' and is one of the most scenic routes in the region. It curves along the cliffs above the South side of the Loire river, offering views of the Loire on one side and vineyards and manor houses on the other.
We will spend the evening in beautiful Saumur. Saumur is a delightful stop with a fairytale Chateau set on a hill high above the town and well defined old quarter which contains some excellent restaurants.
which makes a full range of Saumur appellations.
We will now pass into the Touraine area which is known for its magnificent white chateaux. Traveling along the banks of the River Vienne we will enter the town of Chinon. Chinon's old crooked streets resonate with history. It was here that Joan of Arc began her transformation from peasant girl to national heroine and Saint; Richard the Lionheart lay in state here and his father Henry Plantagenet ruled England and much of France from the chateau in Chinon.
Our hotel for the evening is in the beautiful and historic university city of Tours.
In the morning we will visit the impressive chateau at Chenonceaux.
It is in our opinion the most beautiful of the Loire Chateau and has a fascinatining history developing from simple mill building to splendid chateau.
will head West over the Alpes Mancelles and visit St-Ceneri-le-Gerei; this pretty little village is widely thought of as being one of the prettiest villages in France.
From the Alpes Mancelles it is only a short ride to our hotel in the lovely spa town of Bagnoles de L'Ornes. This beautiful small town has a very alpine feel to it with lots of individually designed buildings, hotels and restaurants located around a lake.
Departure day, back to Calais and our afternoon Euro-tunnel crossing.


text:
The mEYE World Photographic Competition 2016
Who can/cannot enter
2 Macular Disease Foundation Australia ("Promoter") employees and board directors, the Promoter's agencies and contractors involved in administering this competition and judges of the mEYE World Photographic Competition, and each of their immediate families are not permitted to enter the competition ("Ineligible Entrants"). Immediate family means parents, siblings, partners, children and grandparents.
3 The competition categories are: Open – General Public category; Macular Disease Community category; Healthcare Professional category; and Junior category. Entry to all categories in this competition (other than entry to the Junior category of this competition) is open to Australian residents who are 18 years and over, except Ineligible Entrants. For the avoidance of doubt, entry is open to employees and family members of the Promoter's sponsors and supporters who otherwise meet the requirements of this clause 3.
4 Entry to the Open – General Public category is open to all entrants who meet the requirements of clause 3.
5 Entry to the Macular Disease Community category is restricted to people who have macular disease and their family, friends and carers who are not excluded by another clause in these Terms and Conditions.
6 Entry to the Healthcare Professional category is restricted to people who work as a healthcare professional, including optometrists, ophthalmologists, general practitioners, complementary healthcare workers, nurses, pharmacists and pharmacy assistants who are not excluded by another clause in these Terms and Conditions.
7 Entry to the Junior category of this competition is open to Australian residents who are under the age of 18 as at 18 October 2016, except Ineligible Entrants.
8 All entries in the Junior category must have permission from a parent or guardian to submit a valid entry for the competition as indicated in the entry form. Entries in the Junior category are only valid if a Parental Consent Form is completed and submitted with entry or via email (scanned), fax or post.
9 The competition commences at 09.00 AEST on Tuesday 30 August 2016 and closes at 17.00 AEDT on Tuesday 18 October 2016 ("Competition Period").
Entry forms and requirements
10 To enter, individuals must complete an entry form available online at www.meyephotocomp.com.au during the Competition Period. Entries must include a photograph taken by the entrant and 30-60 words that explain how that photograph captures the competition theme 'See My World'. There are four categories and individuals must tick the box corresponding to the category being entered on the entry form. Entrants must only submit an entry in categories that they are eligible to enter, in accordance with clauses 4, 5, 6 and 7.
11 Entrants must submit the photograph required under clause 10 as a digital JPEG file. Images must be a minimum size of 1MB and a maximum size of 6MB. Images that sit outside of the sizes noted will not be automatically disqualified. It will be at the judge's discretion as to whether they are accepted or declined based on the judging criteria.
12 Incomplete or illegible entries will be deemed invalid.
13 Entries may not be digitally enhanced or manipulated in any way (including Instagram filters). The aim of the competition is to raise awareness of macular disease and highlight just how precious our sight is. This clause is designed to encourage entrants to capture a real image from their world. The clause is not directed towards cropping photos or making other minor adjustments such as to the colour, brightness or contrast of photos. It will be at the judge's discretion as to whether they are accepted or declined.
14 All entries must be the original work of the author and factually accurate, to the best of the entrant's knowledge.
15 Photographs entered in the 2011, 2012, 2013, 2014, and 2015 competition are not permitted to be entered into the 2016 competition or future years and any such entry shall be deemed invalid.
16 The Promoter reserves the right, at any time, to verify the validity of entries and entrants (including an entrant's identity, age and place of residence) and to disqualify any entrant who submits an entry that is not in accordance with these Terms and Conditions or who tampers with the entry process. Errors and omissions may be accepted at the Promoter's discretion. Failure by the Promoter to enforce any of its rights at any stage does not constitute a waiver of those rights.
17 The Promoter reserves the right to disqualify an entry if the content is deemed inappropriate and not in accordance with the Promoter's values which include respect, compassion, integrity and competency.
18 A maximum of five entries per category, per person, will be accepted. Each entry must be submitted on a separate entry form, and for entries in the Junior category, a separate parental consent form must also be submitted for each entry. If additional entries are submitted, only the first five entries are eligible for judging. Entries are judged individually based on their merits according to the criteria set out in clause 19, not the number of entries received. It is possible for the same person to win more than one category but it is not possible for the same photograph to win more than one category.
19 This competition is a game of skill. Chance plays no part in determining the winners. Entries will be judged by a panel of judges selected by the Promoter, via teleconference arranged by the Promoter from Suite 902, Level 9, 447 Kent Street, Sydney on Wednesday 2 November 2016. Judging will be based on the entry's creativity, composition, content and technique.
20 The entrant who submits the best entry across all four categories, as determined by the judges, will win the grand finalist prize ("grand finalist"). In addition, the entrant who submits the best entry in each category, as determined by the judges, will each receive a prize (together the "finalists"). The grand finalist will win the grand finalist prize and the finalists will each win the prize for the relevant category in which his or her entry was submitted. The two entrants who submit the next two best entries in each category, as determined by the judges, will each win a prize (together the "runners up"). There are a total of 8 runners up. The judges' decision is final and no correspondence will be entered into.
21 The grand finalist, finalists and runners up will all be notified in writing either via post or email by 17.00 AEDT on Friday 11 November 2016. The names of the prize winners will be published on www.meyephotocomp.com.au on 14 November 2016.
Pornography/inappropriate images
22 Any images submitted are subject to review and acceptance by Macular Disease Foundation Australia in its absolute discretion. All images are subject to all applicable Australian and international laws regarding, but not limited to, child pornography, child abuse, and obscene or pornographic material. Further, entrants that upload a photograph in accordance with clause 10 must adhere to the following conditions:
a) by submitting a photograph, entrants agree to the photograph being made available for public viewing;
b) any person depicted in a photograph submitted must be decently dressed and presented;
c) all photographs are subject to the approval of the Promoter. The Promoter reserves the right to vet all entries and reserves the right to remove any entries at any time in its absolute discretion. However, the Promoter is not responsible for any photographs displayed on the website and visitors to the website view it at their own risk;
d) entrants must own the copyright in the photograph submitted or be entitled and have permission to use the photograph in the manner contemplated by these terms, including the use of the photograph for promotional purposed in accordance with clause 34; and
e) if an entrant uploads a photograph of a child, the entrant must either be the parent or legal guardian of the child depicted in the photograph or must have permission of all parents or legal guardians of any other children depicted.
Winners and prizes
23 Grand Finalist: The grand finalist's prize consists of:
- $3,000 cash - donated by ICAP
- One year subscription to Adobe Creative Cloud (RRP $599.88) - donated by Adobe
- Gift voucher credited to the value of $500.00 to be redeemed at www.mainlinephoto.com.au (RRP $500.00) - donated by Mainline Photographics
- One Wacom Intuos Pro Medium Tablet (RRP $469.00) - donated by Wacom Australia
- One pair Carter Bond Hurricane sunglasses with case set and gift bag (RRP $330.00) - donated by Carter Bond
There is one grand finalist prize to be won. Total RRP of the grand finalist prize $4,898.88
The Promoter may request that the grand finalist sign additional consent agreements in relation to his/her participation in media activities.
24 Finalist: The finalist for the Open (General Public) category will receive:
- One pair Jono Hennessy Lolly sunglasses with case set and gift bag (RRP $380.00) - donated by Jono Hennessy
- One Harvey Norman Gift Card credited to the value of $200.00 (RRP $200.00) - donated by Harvey Norman
- One Manfrotto Compact Light Tripod (RRP $109.00) - donated by Manfrotto
- One Momento gift voucher credited to the value of $100.00 to create a premium photo book (RRP $100.00) - donated by Momento
- One Manfrotto Shoulder Bag (RRP $84.00) - donated by Manfrotto
- One 'Eating for Eye Health: The Macular Degeneration Cookbook' by Ita Buttrose and Vanessa Jones; signed by Ita Buttrose (RRP $27.00) - donated by Macular Disease Foundation Australia
Total RRP of the finalist prize for the Open (General Public) category is $900.00.
25 Finalist: The finalist for the Macular Disease Community category will receive:
- One pair Carter Bond Hurricane sunglasses with case set and gift bag (RRP$330.00) - donated by Carter Bond
Total RRP of the finalist prize for the Macular Disease Community category is $900.00.
26 Finalist: The finalist for the Healthcare Professional category will receive:
- Two Momento gift vouchers each credited to the value of $100 to create premium photo books (RRP $200.00) - donated by Momento
- One Harvey Norman Gift Card credited to the value of $50.00 (RRP $50.00) - donated by Harvey Norman
Total RRP of the finalist prize for the Healthcare Professional category is $850.00.
27 Junior Finalist: For the finalist in the Junior category, the junior finalist prize will be awarded to the winner's parent or legal guardian. The prizes for the junior finalist are:
- One Instax mini 70 camera, 5 x 10pk mini film, and Instax backpack (RRP $268.85) - donated by FUJIFILM Australia
- One Saxon 606 Refractor Telescope (RRP $211.95) - donated by Saxon
Total RRP of the junior prize is $673.80
There are 3 x finalist prizes and 1 x junior finalist prize to be won. Total RRP of all finalist prizes is $3,323.80
All finalists (including the junior finalist) will also receive a framed copy of their winning entry and a copy of the calendar that their photo appears in.
28 Runners Up: All runners up will receive a free copy of the calendar that their photo appears in as the runners up prize.
29 If the prize (or part of the prize) is unavailable, the Promoter, in its discretion, reserves the right to substitute the prize (or that part of the prize) with a prize to the equal or greater value, subject to any written directions from a regulatory authority.
30 The total prize pool is RRP $8,222.68. Prizes, or any unused portion of a prize, are not transferable or exchangeable and cannot be taken as cash (except for the cash prize).
31 Gift vouchers must be redeemed before the expiry date shown on the gift voucher. Gift vouchers are subject to the terms and conditions of the third party prize suppliers, including Harvey Norman, Momento and Mainline Photographics. The Promoter is not responsible or liable for any loss, damage or injury suffered by any winner as a result of the conduct of the third party prize suppliers or otherwise as a result of the winner accepting and/or using a prize (even if caused by negligence), except for any liability which cannot be excluded by law.
32 The judges' decision is final and binding - no correspondence will be entered into. If this competition is interfered with in any way or is not capable of being conducted as reasonably anticipated due to any reason beyond the reasonable control of the Promoter, the Promoter reserves the right, in its sole discretion, to the fullest extent permitted by law (a) to disqualify any entrant; or (b) subject to any written directions from a regulatory authority, to modify, suspend, terminate or cancel the competition, as appropriate.
33 Except for any liability that cannot be excluded by law, the Promoter (including its officers, employees and agents) excludes all liability (including negligence) for any personal injury or any loss or damage (including loss of opportunity) whether direct, indirect or consequential, arising in any way out of the competition, including, but not limited to, where arising out of the following: (a) any technical difficulties or equipment malfunction (whether or not under the Promoter's control); (b) any theft, unauthorised access or third party interference; (c) any entry or prize claim that is late, lost, altered, damaged or misdirected (whether or not after their receipt by the Promoter) due to any reason beyond the reasonable control of the Promoter; (d) any variation in prize value to that stated in these Terms and Conditions; (e) any tax liability incurred by a winner or entrant; or (f) use of the prize.
34 Details from entries will be collected and used in order to process and conduct the competition (which may, for this purpose, include disclosure of such information third parties, including but not limited to agents, contractors, service providers, prize suppliers and, as required, to Australian regulatory authorities) and for promotional purposes surrounding this competition. Entry is conditional on entrants consenting to the use of their information as described and agree that the Promoter may use this information, or disclose it to other organisations that may use it, in any media for future promotional, marketing, publicity, research and profiling purposes, without further reference or payment to the entrant. Entrants may obtain a copy of the Promoter's privacy policy and should direct any request to access, update or correct information to Macular Disease Foundation Australia on 1800 111 709 during office hours.
Photo Ownership/Permission
35 Entrants confirm and promise that their entry is original and does not infringe the intellectual property rights of any third party. By submitting an entry to the mEYE World Photographic Competition the entrant retains ownership of the image. Further, entrants agree that the Promoter has an unrestricted, irrevocable, transferable, divisible right and license to use, modify and reproduce their entry for the purposes of the Promoter's business and without the payment of any further fee or compensation, including to produce a calendar using the images, as part of a gallery of photographs at events, conferences or exhibitions and as part of an online gallery of competition entries and for other purposes support the Promoter's endeavours to reduce the incidence and impact of macular disease in Australia. All proceeds from the sale of calendars will go to Macular Disease Foundation Australia. The Promoter agrees to attribute the entrant as the photographer in all instances.
36 Where the photograph entry contains people/persons that may be identifiable it is the photographers' responsibility to ensure that appropriate consent is acquired before entering the competition.
37 The Promoter is:
Suite 902, 447 Kent Street


Regardless of age, you can always learn new, incredible things about life on Earth while at the Vancouver Aquarium, an Ocean Wise® initiative.
Regardless of age, you can always learn new, incredible things about life on Earth while at the Vancouver Aquarium, an Ocean Wise® initiative. During our teacher professional development day, our Ocean Wise® Education Program Coordinators will share their ideas and thoughts about the education, research, and conservation programs that are happening both at the Vancouver Aquarium and around the world. We hope that you will leave with the tools to promote immersive, active, and exploratory experiences that encourage students to think about marine science in a new way.
A guaranteed teacher package and expedited entry for those who arrive before 11:30 a.m.
We are a large working facility with limited reception space. If other adults and children are not entering the aquarium, alternative waiting areas must be found.
Cancellation Policy: Please note that cancellations made within 48 hours of the program workshop will be subject to a 50% cancellation fee. No-shows will not be refunded nor rescheduled.
Please feel free to direct any questions to our Professional Development coordinator, Stephanie Chong, at Stephanie.Chong@ocean.org.


If you have any questions at all, please send us a message and we will be happy to answer. We have a large selection of coins, figures and accessories that will be coming available in the next few weeks, so please take a look at our store and other items.
The item "Vintage Original Star Wars Figure Creatures POTF Coin Rare! Greedo Snaggletooth" is in sale since Sunday, January 14, 2018. This item is in the category "Toys & Hobbies\Action Figures\TV, Movie & Video Games". The seller is "knumskull2" and is located in Seattle, Washington.


text:
package message

import (
	"bytes"
	"fmt" // TODO: consider copying interfaces from package fmt to avoid dependency.
	"math"
	"reflect"
	"unicode/utf8"

	"golang.org/x/text/internal/number"
	"golang.org/x/text/language"
	"golang.org/x/text/message/catalog"
)

// Strings for use with buffer.WriteString.
// This is less overhead than using buffer.Write with byte arrays.
const (
	commaSpaceString  = ", "
	nilAngleString    = "<nil>"
	nilParenString    = "(nil)"
	nilString         = "nil"
	mapString         = "map["
	percentBangString = "%!"
	missingString     = "(MISSING)"
	badIndexString    = "(BADINDEX)"
	panicString       = "(PANIC="
	extraString       = "%!(EXTRA "
	badWidthString    = "%!(BADWIDTH)"
	badPrecString     = "%!(BADPREC)"
	noVerbString      = "%!(NOVERB)"

	invReflectString = "<invalid reflect.Value>"
)

// printer is used to store a printer's state.
// It implements "golang.org/x/text/internal/format".State.
type printer struct {
	// the context for looking up message translations
	catContext *catalog.Context
	// the language
	tag language.Tag

	// buffer for accumulating output.
	bytes.Buffer

	// retain arguments across calls.
	args []interface{}
	// retain current argument number across calls
	argNum int
	// arg holds the current item, as an interface{}.
	arg interface{}
	// value is used instead of arg for reflect values.
	value reflect.Value

	// fmt is used to format basic items such as integers or strings.
	fmt formatInfo

	// reordered records whether the format string used argument reordering.
	reordered bool
	// goodArgNum records whether the most recent reordering directive was valid.
	goodArgNum bool
	// panicking is set by catchPanic to avoid infinite panic, recover, panic, ... recursion.
	panicking bool
	// erroring is set when printing an error string to guard against calling handleMethods.
	erroring bool

	toDecimal    number.Formatter
	toScientific number.Formatter
}

func (p *printer) reset() {
	p.Buffer.Reset()
	p.argNum = 0
	p.reordered = false
	p.panicking = false
	p.erroring = false
	p.fmt.init(&p.Buffer)
}

// Language implements "golang.org/x/text/internal/format".State.
func (p *printer) Language() language.Tag { return p.tag }

func (p *printer) Width() (wid int, ok bool) { return p.fmt.wid, p.fmt.widPresent }

func (p *printer) Precision() (prec int, ok bool) { return p.fmt.prec, p.fmt.precPresent }

func (p *printer) Flag(b int) bool {
	switch b {
	case '-':
		return p.fmt.minus
	case '+':
		return p.fmt.plus || p.fmt.plusV
	case '#':
		return p.fmt.sharp || p.fmt.sharpV
	case ' ':
		return p.fmt.space
	case '0':
		return p.fmt.zero
	}
	return false
}

// getField gets the i'th field of the struct value.
// If the field is itself is an interface, return a value for
// the thing inside the interface, not the interface itself.
func getField(v reflect.Value, i int) reflect.Value {
	val := v.Field(i)
	if val.Kind() == reflect.Interface && !val.IsNil() {
		val = val.Elem()
	}
	return val
}

// tooLarge reports whether the magnitude of the integer is
// too large to be used as a formatting width or precision.
func tooLarge(x int) bool {
	const max int = 1e6
	return x > max || x < -max
}

// parsenum converts ASCII to integer.  num is 0 (and isnum is false) if no number present.
func parsenum(s string, start, end int) (num int, isnum bool, newi int) {
	if start >= end {
		return 0, false, end
	}
	for newi = start; newi < end && '0' <= s[newi] && s[newi] <= '9'; newi++ {
		if tooLarge(num) {
			return 0, false, end // Overflow; crazy long number most likely.
		}
		num = num*10 + int(s[newi]-'0')
		isnum = true
	}
	return
}

func (p *printer) unknownType(v reflect.Value) {
	if !v.IsValid() {
		p.WriteString(nilAngleString)
		return
	}
	p.WriteByte('?')
	p.WriteString(v.Type().String())
	p.WriteByte('?')
}

func (p *printer) badVerb(verb rune) {
	p.erroring = true
	p.WriteString(percentBangString)
	p.WriteRune(verb)
	p.WriteByte('(')
	switch {
	case p.arg != nil:
		p.WriteString(reflect.TypeOf(p.arg).String())
		p.WriteByte('=')
		p.printArg(p.arg, 'v')
	case p.value.IsValid():
		p.WriteString(p.value.Type().String())
		p.WriteByte('=')
		p.printValue(p.value, 'v', 0)
	default:
		p.WriteString(nilAngleString)
	}
	p.WriteByte(')')
	p.erroring = false
}

func (p *printer) fmtBool(v bool, verb rune) {
	switch verb {
	case 't', 'v':
		p.fmt.fmt_boolean(v)
	default:
		p.badVerb(verb)
	}
}

// fmt0x64 formats a uint64 in hexadecimal and prefixes it with 0x or
// not, as requested, by temporarily setting the sharp flag.
func (p *printer) fmt0x64(v uint64, leading0x bool) {
	sharp := p.fmt.sharp
	p.fmt.sharp = leading0x
	p.fmt.fmt_integer(v, 16, unsigned, ldigits)
	p.fmt.sharp = sharp
}

// fmtInteger formats a signed or unsigned integer.
func (p *printer) fmtInteger(v uint64, isSigned bool, verb rune) {
	switch verb {
	case 'v':
		if p.fmt.sharpV && !isSigned {
			p.fmt0x64(v, true)
			return
		}
		fallthrough
	case 'd':
		if p.fmt.sharp || p.fmt.sharpV {
			p.fmt.fmt_integer(v, 10, isSigned, ldigits)
		} else {
			p.fmtDecimalInt(v, isSigned)
		}
	case 'b':
		p.fmt.fmt_integer(v, 2, isSigned, ldigits)
	case 'o':
		p.fmt.fmt_integer(v, 8, isSigned, ldigits)
	case 'x':
		p.fmt.fmt_integer(v, 16, isSigned, ldigits)
	case 'X':
		p.fmt.fmt_integer(v, 16, isSigned, udigits)
	case 'c':
		p.fmt.fmt_c(v)
	case 'q':
		if v <= utf8.MaxRune {
			p.fmt.fmt_qc(v)
		} else {
			p.badVerb(verb)
		}
	case 'U':
		p.fmt.fmt_unicode(v)
	default:
		p.badVerb(verb)
	}
}

// fmtFloat formats a float. The default precision for each verb
// is specified as last argument in the call to fmt_float.
func (p *printer) fmtFloat(v float64, size int, verb rune) {
	switch verb {
	case 'b':
		p.fmt.fmt_float(v, size, verb, -1)
	case 'v':
		verb = 'g'
		fallthrough
	case 'g', 'G':
		if p.fmt.sharp || p.fmt.sharpV {
			p.fmt.fmt_float(v, size, verb, -1)
		} else {
			p.fmtVariableFloat(v, size)
		}
	case 'e', 'E':
		if p.fmt.sharp || p.fmt.sharpV {
			p.fmt.fmt_float(v, size, verb, 6)
		} else {
			p.fmtScientific(v, size, 6)
		}
	case 'f', 'F':
		if p.fmt.sharp || p.fmt.sharpV {
			p.fmt.fmt_float(v, size, verb, 6)
		} else {
			p.fmtDecimalFloat(v, size, 6)
		}
	default:
		p.badVerb(verb)
	}
}

func (p *printer) setFlags(f *number.Formatter) {
	f.Flags &^= number.ElideSign
	if p.fmt.plus || p.fmt.space {
		f.Flags |= number.AlwaysSign
		if !p.fmt.plus {
			f.Flags |= number.ElideSign
		}
	} else {
		f.Flags &^= number.AlwaysSign
	}
}

func (p *printer) updatePadding(f *number.Formatter) {
	f.Flags &^= number.PadMask
	if p.fmt.minus {
		f.Flags |= number.PadAfterSuffix
	} else {
		f.Flags |= number.PadBeforePrefix
	}
	f.PadRune = ' '
	f.FormatWidth = uint16(p.fmt.wid)
}

func (p *printer) initDecimal(minFrac, maxFrac int) {
	f := &p.toDecimal
	f.MinIntegerDigits = 1
	f.MaxIntegerDigits = 0
	f.MinFractionDigits = uint8(minFrac)
	f.MaxFractionDigits = int16(maxFrac)
	p.setFlags(f)
	f.PadRune = 0
	if p.fmt.widPresent {
		if p.fmt.zero {
			wid := p.fmt.wid
			// Use significant integers for this.
			// TODO: this is not the same as width, but so be it.
			if f.MinFractionDigits > 0 {
				wid -= 1 + int(f.MinFractionDigits)
			}
			if p.fmt.plus || p.fmt.space {
				wid--
			}
			if wid > 0 && wid > int(f.MinIntegerDigits) {
				f.MinIntegerDigits = uint8(wid)
			}
		}
		p.updatePadding(f)
	}
}

func (p *printer) initScientific(minFrac, maxFrac int) {
	f := &p.toScientific
	if maxFrac < 0 {
		f.SetPrecision(maxFrac)
	} else {
		f.SetPrecision(maxFrac + 1)
		f.MinFractionDigits = uint8(minFrac)
		f.MaxFractionDigits = int16(maxFrac)
	}
	f.MinExponentDigits = 2
	p.setFlags(f)
	f.PadRune = 0
	if p.fmt.widPresent {
		f.Flags &^= number.PadMask
		if p.fmt.zero {
			f.PadRune = f.Digit(0)
			f.Flags |= number.PadAfterPrefix
		} else {
			f.PadRune = ' '
			f.Flags |= number.PadBeforePrefix
		}
		p.updatePadding(f)
	}
}

func (p *printer) fmtDecimalInt(v uint64, isSigned bool) {
	var d number.Decimal

	f := &p.toDecimal
	if p.fmt.precPresent {
		p.setFlags(f)
		f.MinIntegerDigits = uint8(p.fmt.prec)
		f.MaxIntegerDigits = 0
		f.MinFractionDigits = 0
		f.MaxFractionDigits = 0
		if p.fmt.widPresent {
			p.updatePadding(f)
		}
	} else {
		p.initDecimal(0, 0)
	}
	d.ConvertInt(p.toDecimal.RoundingContext, isSigned, v)

	out := p.toDecimal.Format([]byte(nil), &d)
	p.Buffer.Write(out)
}

func (p *printer) fmtDecimalFloat(v float64, size, prec int) {
	var d number.Decimal
	if p.fmt.precPresent {
		prec = p.fmt.prec
	}
	p.initDecimal(prec, prec)
	d.ConvertFloat(p.toDecimal.RoundingContext, v, size)

	out := p.toDecimal.Format([]byte(nil), &d)
	p.Buffer.Write(out)
}

func (p *printer) fmtVariableFloat(v float64, size int) {
	prec := -1
	if p.fmt.precPresent {
		prec = p.fmt.prec
	}
	var d number.Decimal
	p.initScientific(0, prec)
	d.ConvertFloat(p.toScientific.RoundingContext, v, size)

	// Copy logic of 'g' formatting from strconv. It is simplified a bit as
	// we don't have to mind having prec > len(d.Digits).
	shortest := prec < 0
	ePrec := prec
	if shortest {
		prec = len(d.Digits)
		ePrec = 6
	} else if prec == 0 {
		prec = 1
		ePrec = 1
	}
	exp := int(d.Exp) - 1
	if exp < -4 || exp >= ePrec {
		p.initScientific(0, prec)

		out := p.toScientific.Format([]byte(nil), &d)
		p.Buffer.Write(out)
	} else {
		if prec > int(d.Exp) {
			prec = len(d.Digits)
		}
		if prec -= int(d.Exp); prec < 0 {
			prec = 0
		}
		p.initDecimal(0, prec)

		out := p.toDecimal.Format([]byte(nil), &d)
		p.Buffer.Write(out)
	}
}

func (p *printer) fmtScientific(v float64, size, prec int) {
	var d number.Decimal
	if p.fmt.precPresent {
		prec = p.fmt.prec
	}
	p.initScientific(prec, prec)
	rc := p.toScientific.RoundingContext
	d.ConvertFloat(rc, v, size)

	out := p.toScientific.Format([]byte(nil), &d)
	p.Buffer.Write(out)

}

// fmtComplex formats a complex number v with
// r = real(v) and j = imag(v) as (r+ji) using
// fmtFloat for r and j formatting.
func (p *printer) fmtComplex(v complex128, size int, verb rune) {
	// Make sure any unsupported verbs are found before the
	// calls to fmtFloat to not generate an incorrect error string.
	switch verb {
	case 'v', 'b', 'g', 'G', 'f', 'F', 'e', 'E':
		p.WriteByte('(')
		p.fmtFloat(real(v), size/2, verb)
		// Imaginary part always has a sign.
		if math.IsNaN(imag(v)) {
			// By CLDR's rules, NaNs do not use patterns or signs. As this code
			// relies on AlwaysSign working for imaginary parts, we need to
			// manually handle NaNs.
			f := &p.toScientific
			p.setFlags(f)
			p.updatePadding(f)
			p.setFlags(f)
			nan := f.Symbol(number.SymNan)
			extra := 0
			if w, ok := p.Width(); ok {
				extra = w - utf8.RuneCountInString(nan) - 1
			}
			if f.Flags&number.PadAfterNumber == 0 {
				for ; extra > 0; extra-- {
					p.WriteRune(f.PadRune)
				}
			}
			p.WriteString(f.Symbol(number.SymPlusSign))
			p.WriteString(nan)
			for ; extra > 0; extra-- {
				p.WriteRune(f.PadRune)
			}
			p.WriteString("i)")
			return
		}
		oldPlus := p.fmt.plus
		p.fmt.plus = true
		p.fmtFloat(imag(v), size/2, verb)
		p.WriteString("i)") // TODO: use symbol?
		p.fmt.plus = oldPlus
	default:
		p.badVerb(verb)
	}
}

func (p *printer) fmtString(v string, verb rune) {
	switch verb {
	case 'v':
		if p.fmt.sharpV {
			p.fmt.fmt_q(v)
		} else {
			p.fmt.fmt_s(v)
		}
	case 's':
		p.fmt.fmt_s(v)
	case 'x':
		p.fmt.fmt_sx(v, ldigits)
	case 'X':
		p.fmt.fmt_sx(v, udigits)
	case 'q':
		p.fmt.fmt_q(v)
	default:
		p.badVerb(verb)
	}
}

func (p *printer) fmtBytes(v []byte, verb rune, typeString string) {
	switch verb {
	case 'v', 'd':
		if p.fmt.sharpV {
			p.WriteString(typeString)
			if v == nil {
				p.WriteString(nilParenString)
				return
			}
			p.WriteByte('{')
			for i, c := range v {
				if i > 0 {
					p.WriteString(commaSpaceString)
				}
				p.fmt0x64(uint64(c), true)
			}
			p.WriteByte('}')
		} else {
			p.WriteByte('[')
			for i, c := range v {
				if i > 0 {
					p.WriteByte(' ')
				}
				p.fmt.fmt_integer(uint64(c), 10, unsigned, ldigits)
			}
			p.WriteByte(']')
		}
	case 's':
		p.fmt.fmt_s(string(v))
	case 'x':
		p.fmt.fmt_bx(v, ldigits)
	case 'X':
		p.fmt.fmt_bx(v, udigits)
	case 'q':
		p.fmt.fmt_q(string(v))
	default:
		p.printValue(reflect.ValueOf(v), verb, 0)
	}
}

func (p *printer) fmtPointer(value reflect.Value, verb rune) {
	var u uintptr
	switch value.Kind() {
	case reflect.Chan, reflect.Func, reflect.Map, reflect.Ptr, reflect.Slice, reflect.UnsafePointer:
		u = value.Pointer()
	default:
		p.badVerb(verb)
		return
	}

	switch verb {
	case 'v':
		if p.fmt.sharpV {
			p.WriteByte('(')
			p.WriteString(value.Type().String())
			p.WriteString(")(")
			if u == 0 {
				p.WriteString(nilString)
			} else {
				p.fmt0x64(uint64(u), true)
			}
			p.WriteByte(')')
		} else {
			if u == 0 {
				p.fmt.padString(nilAngleString)
			} else {
				p.fmt0x64(uint64(u), !p.fmt.sharp)
			}
		}
	case 'p':
		p.fmt0x64(uint64(u), !p.fmt.sharp)
	case 'b', 'o', 'd', 'x', 'X':
		if verb == 'd' {
			p.fmt.sharp = true // Print as standard go. TODO: does this make sense?
		}
		p.fmtInteger(uint64(u), unsigned, verb)
	default:
		p.badVerb(verb)
	}
}

func (p *printer) catchPanic(arg interface{}, verb rune) {
	if err := recover(); err != nil {
		// If it's a nil pointer, just say "<nil>". The likeliest causes are a
		// Stringer that fails to guard against nil or a nil pointer for a
		// value receiver, and in either case, "<nil>" is a nice result.
		if v := reflect.ValueOf(arg); v.Kind() == reflect.Ptr && v.IsNil() {
			p.WriteString(nilAngleString)
			return
		}
		// Otherwise print a concise panic message. Most of the time the panic
		// value will print itself nicely.
		if p.panicking {
			// Nested panics; the recursion in printArg cannot succeed.
			panic(err)
		}

		oldFlags := p.fmt.fmtFlags
		// For this output we want default behavior.
		p.fmt.clearflags()

		p.WriteString(percentBangString)
		p.WriteRune(verb)
		p.WriteString(panicString)
		p.panicking = true
		p.printArg(err, 'v')
		p.panicking = false
		p.WriteByte(')')

		p.fmt.fmtFlags = oldFlags
	}
}

func (p *printer) handleMethods(verb rune) (handled bool) {
	if p.erroring {
		return
	}
	// Is it a Formatter?
	if formatter, ok := p.arg.(fmt.Formatter); ok {
		handled = true
		defer p.catchPanic(p.arg, verb)
		formatter.Format(p, verb)
		return
	}

	// If we're doing Go syntax and the argument knows how to supply it, take care of it now.
	if p.fmt.sharpV {
		if stringer, ok := p.arg.(fmt.GoStringer); ok {
			handled = true
			defer p.catchPanic(p.arg, verb)
			// Print the result of GoString unadorned.
			p.fmt.fmt_s(stringer.GoString())
			return
		}
	} else {
		// If a string is acceptable according to the format, see if
		// the value satisfies one of the string-valued interfaces.
		// Println etc. set verb to %v, which is "stringable".
		switch verb {
		case 'v', 's', 'x', 'X', 'q':
			// Is it an error or Stringer?
			// The duplication in the bodies is necessary:
			// setting handled and deferring catchPanic
			// must happen before calling the method.
			switch v := p.arg.(type) {
			case error:
				handled = true
				defer p.catchPanic(p.arg, verb)
				p.fmtString(v.Error(), verb)
				return

			case fmt.Stringer:
				handled = true
				defer p.catchPanic(p.arg, verb)
				p.fmtString(v.String(), verb)
				return
			}
		}
	}
	return false
}

func (p *printer) printArg(arg interface{}, verb rune) {
	p.arg = arg
	p.value = reflect.Value{}

	if arg == nil {
		switch verb {
		case 'T', 'v':
			p.fmt.padString(nilAngleString)
		default:
			p.badVerb(verb)
		}
		return
	}

	// Special processing considerations.
	// %T (the value's type) and %p (its address) are special; we always do them first.
	switch verb {
	case 'T':
		p.fmt.fmt_s(reflect.TypeOf(arg).String())
		return
	case 'p':
		p.fmtPointer(reflect.ValueOf(arg), 'p')
		return
	}

	// Some types can be done without reflection.
	switch f := arg.(type) {
	case bool:
		p.fmtBool(f, verb)
	case float32:
		p.fmtFloat(float64(f), 32, verb)
	case float64:
		p.fmtFloat(f, 64, verb)
	case complex64:
		p.fmtComplex(complex128(f), 64, verb)
	case complex128:
		p.fmtComplex(f, 128, verb)
	case int:
		p.fmtInteger(uint64(f), signed, verb)
	case int8:
		p.fmtInteger(uint64(f), signed, verb)
	case int16:
		p.fmtInteger(uint64(f), signed, verb)
	case int32:
		p.fmtInteger(uint64(f), signed, verb)
	case int64:
		p.fmtInteger(uint64(f), signed, verb)
	case uint:
		p.fmtInteger(uint64(f), unsigned, verb)
	case uint8:
		p.fmtInteger(uint64(f), unsigned, verb)
	case uint16:
		p.fmtInteger(uint64(f), unsigned, verb)
	case uint32:
		p.fmtInteger(uint64(f), unsigned, verb)
	case uint64:
		p.fmtInteger(f, unsigned, verb)
	case uintptr:
		p.fmtInteger(uint64(f), unsigned, verb)
	case string:
		p.fmtString(f, verb)
	case []byte:
		p.fmtBytes(f, verb, "[]byte")
	case reflect.Value:
		// Handle extractable values with special methods
		// since printValue does not handle them at depth 0.
		if f.IsValid() && f.CanInterface() {
			p.arg = f.Interface()
			if p.handleMethods(verb) {
				return
			}
		}
		p.printValue(f, verb, 0)
	default:
		// If the type is not simple, it might have methods.
		if !p.handleMethods(verb) {
			// Need to use reflection, since the type had no
			// interface methods that could be used for formatting.
			p.printValue(reflect.ValueOf(f), verb, 0)
		}
	}
}

// printValue is similar to printArg but starts with a reflect value, not an interface{} value.
// It does not handle 'p' and 'T' verbs because these should have been already handled by printArg.
func (p *printer) printValue(value reflect.Value, verb rune, depth int) {
	// Handle values with special methods if not already handled by printArg (depth == 0).
	if depth > 0 && value.IsValid() && value.CanInterface() {
		p.arg = value.Interface()
		if p.handleMethods(verb) {
			return
		}
	}
	p.arg = nil
	p.value = value

	switch f := value; value.Kind() {
	case reflect.Invalid:
		if depth == 0 {
			p.WriteString(invReflectString)
		} else {
			switch verb {
			case 'v':
				p.WriteString(nilAngleString)
			default:
				p.badVerb(verb)
			}
		}
	case reflect.Bool:
		p.fmtBool(f.Bool(), verb)
	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
		p.fmtInteger(uint64(f.Int()), signed, verb)
	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
		p.fmtInteger(f.Uint(), unsigned, verb)
	case reflect.Float32:
		p.fmtFloat(f.Float(), 32, verb)
	case reflect.Float64:
		p.fmtFloat(f.Float(), 64, verb)
	case reflect.Complex64:
		p.fmtComplex(f.Complex(), 64, verb)
	case reflect.Complex128:
		p.fmtComplex(f.Complex(), 128, verb)
	case reflect.String:
		p.fmtString(f.String(), verb)
	case reflect.Map:
		if p.fmt.sharpV {
			p.WriteString(f.Type().String())
			if f.IsNil() {
				p.WriteString(nilParenString)
				return
			}
			p.WriteByte('{')
		} else {
			p.WriteString(mapString)
		}
		keys := f.MapKeys()
		for i, key := range keys {
			if i > 0 {
				if p.fmt.sharpV {
					p.WriteString(commaSpaceString)
				} else {
					p.WriteByte(' ')
				}
			}
			p.printValue(key, verb, depth+1)
			p.WriteByte(':')
			p.printValue(f.MapIndex(key), verb, depth+1)
		}
		if p.fmt.sharpV {
			p.WriteByte('}')
		} else {
			p.WriteByte(']')
		}
	case reflect.Struct:
		if p.fmt.sharpV {
			p.WriteString(f.Type().String())
		}
		p.WriteByte('{')
		for i := 0; i < f.NumField(); i++ {
			if i > 0 {
				if p.fmt.sharpV {
					p.WriteString(commaSpaceString)
				} else {
					p.WriteByte(' ')
				}
			}
			if p.fmt.plusV || p.fmt.sharpV {
				if name := f.Type().Field(i).Name; name != "" {
					p.WriteString(name)
					p.WriteByte(':')
				}
			}
			p.printValue(getField(f, i), verb, depth+1)
		}
		p.WriteByte('}')
	case reflect.Interface:
		value := f.Elem()
		if !value.IsValid() {
			if p.fmt.sharpV {
				p.WriteString(f.Type().String())
				p.WriteString(nilParenString)
			} else {
				p.WriteString(nilAngleString)
			}
		} else {
			p.printValue(value, verb, depth+1)
		}
	case reflect.Array, reflect.Slice:
		switch verb {
		case 's', 'q', 'x', 'X':
			// Handle byte and uint8 slices and arrays special for the above verbs.
			t := f.Type()
			if t.Elem().Kind() == reflect.Uint8 {
				var bytes []byte
				if f.Kind() == reflect.Slice {
					bytes = f.Bytes()
				} else if f.CanAddr() {
					bytes = f.Slice(0, f.Len()).Bytes()
				} else {
					// We have an array, but we cannot Slice() a non-addressable array,
					// so we build a slice by hand. This is a rare case but it would be nice
					// if reflection could help a little more.
					bytes = make([]byte, f.Len())
					for i := range bytes {
						bytes[i] = byte(f.Index(i).Uint())
					}
				}
				p.fmtBytes(bytes, verb, t.String())
				return
			}
		}
		if p.fmt.sharpV {
			p.WriteString(f.Type().String())
			if f.Kind() == reflect.Slice && f.IsNil() {
				p.WriteString(nilParenString)
				return
			}
			p.WriteByte('{')
			for i := 0; i < f.Len(); i++ {
				if i > 0 {
					p.WriteString(commaSpaceString)
				}
				p.printValue(f.Index(i), verb, depth+1)
			}
			p.WriteByte('}')
		} else {
			p.WriteByte('[')
			for i := 0; i < f.Len(); i++ {
				if i > 0 {
					p.WriteByte(' ')
				}
				p.printValue(f.Index(i), verb, depth+1)
			}
			p.WriteByte(']')
		}
	case reflect.Ptr:
		// pointer to array or slice or struct?  ok at top level
		// but not embedded (avoid loops)
		if depth == 0 && f.Pointer() != 0 {
			switch a := f.Elem(); a.Kind() {
			case reflect.Array, reflect.Slice, reflect.Struct, reflect.Map:
				p.WriteByte('&')
				p.printValue(a, verb, depth+1)
				return
			}
		}
		fallthrough
	case reflect.Chan, reflect.Func, reflect.UnsafePointer:
		p.fmtPointer(f, verb)
	default:
		p.unknownType(f)
	}
}

// intFromArg gets the argNumth element of a. On return, isInt reports whether the argument has integer type.
func (p *printer) intFromArg() (num int, isInt bool) {
	if p.argNum < len(p.args) {
		arg := p.args[p.argNum]
		num, isInt = arg.(int) // Almost always OK.
		if !isInt {
			// Work harder.
			switch v := reflect.ValueOf(arg); v.Kind() {
			case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
				n := v.Int()
				if int64(int(n)) == n {
					num = int(n)
					isInt = true
				}
			case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
				n := v.Uint()
				if int64(n) >= 0 && uint64(int(n)) == n {
					num = int(n)
					isInt = true
				}
			default:
				// Already 0, false.
			}
		}
		p.argNum++
		if tooLarge(num) {
			num = 0
			isInt = false
		}
	}
	return
}

// parseArgNumber returns the value of the bracketed number, minus 1
// (explicit argument numbers are one-indexed but we want zero-indexed).
// The opening bracket is known to be present at format[0].
// The returned values are the index, the number of bytes to consume
// up to the closing paren, if present, and whether the number parsed
// ok. The bytes to consume will be 1 if no closing paren is present.
func parseArgNumber(format string) (index int, wid int, ok bool) {
	// There must be at least 3 bytes: [n].
	if len(format) < 3 {
		return 0, 1, false
	}

	// Find closing bracket.
	for i := 1; i < len(format); i++ {
		if format[i] == ']' {
			width, ok, newi := parsenum(format, 1, i)
			if !ok || newi != i {
				return 0, i + 1, false
			}
			return width - 1, i + 1, true // arg numbers are one-indexed and skip paren.
		}
	}
	return 0, 1, false
}

// updateArgNumber returns the next argument to evaluate, which is either the value of the passed-in
// argNum or the value of the bracketed integer that begins format[i:]. It also returns
// the new value of i, that is, the index of the next byte of the format to process.
func (p *printer) updateArgNumber(format string, i int) (newi int, found bool) {
	if len(format) <= i || format[i] != '[' {
		return i, false
	}
	p.reordered = true
	index, wid, ok := parseArgNumber(format[i:])
	if ok && 0 <= index && index < len(p.args) {
		p.argNum = index
		return i + wid, true
	}
	p.goodArgNum = false
	return i + wid, ok
}

func (p *printer) badArgNum(verb rune) {
	p.WriteString(percentBangString)
	p.WriteRune(verb)
	p.WriteString(badIndexString)
}

func (p *printer) missingArg(verb rune) {
	p.WriteString(percentBangString)
	p.WriteRune(verb)
	p.WriteString(missingString)
}

func (p *printer) doPrintf(format string) {
	end := len(format)
	afterIndex := false // previous item in format was an index like [3].
formatLoop:
	for i := 0; i < end; {
		p.goodArgNum = true
		lasti := i
		for i < end && format[i] != '%' {
			i++
		}
		if i > lasti {
			p.WriteString(format[lasti:i])
		}
		if i >= end {
			// done processing format string
			break
		}

		// Process one verb
		i++

		// Do we have flags?
		p.fmt.clearflags()
	simpleFormat:
		for ; i < end; i++ {
			c := format[i]
			switch c {
			case '#':
				p.fmt.sharp = true
			case '0':
				p.fmt.zero = !p.fmt.minus // Only allow zero padding to the left.
			case '+':
				p.fmt.plus = true
			case '-':
				p.fmt.minus = true
				p.fmt.zero = false // Do not pad with zeros to the right.
			case ' ':
				p.fmt.space = true
			default:
				// Fast path for common case of ascii lower case simple verbs
				// without precision or width or argument indices.
				if 'a' <= c && c <= 'z' && p.argNum < len(p.args) {
					if c == 'v' {
						// Go syntax
						p.fmt.sharpV = p.fmt.sharp
						p.fmt.sharp = false
						// Struct-field syntax
						p.fmt.plusV = p.fmt.plus
						p.fmt.plus = false
					}
					p.printArg(p.Arg(p.argNum+1), rune(c))
					p.argNum++
					i++
					continue formatLoop
				}
				// Format is more complex than simple flags and a verb or is malformed.
				break simpleFormat
			}
		}

		// Do we have an explicit argument index?
		i, afterIndex = p.updateArgNumber(format, i)

		// Do we have width?
		if i < end && format[i] == '*' {
			i++
			p.fmt.wid, p.fmt.widPresent = p.intFromArg()

			if !p.fmt.widPresent {
				p.WriteString(badWidthString)
			}

			// We have a negative width, so take its value and ensure
			// that the minus flag is set
			if p.fmt.wid < 0 {
				p.fmt.wid = -p.fmt.wid
				p.fmt.minus = true
				p.fmt.zero = false // Do not pad with zeros to the right.
			}
			afterIndex = false
		} else {
			p.fmt.wid, p.fmt.widPresent, i = parsenum(format, i, end)
			if afterIndex && p.fmt.widPresent { // "%[3]2d"
				p.goodArgNum = false
			}
		}

		// Do we have precision?
		if i+1 < end && format[i] == '.' {
			i++
			if afterIndex { // "%[3].2d"
				p.goodArgNum = false
			}
			i, afterIndex = p.updateArgNumber(format, i)
			if i < end && format[i] == '*' {
				i++
				p.fmt.prec, p.fmt.precPresent = p.intFromArg()
				// Negative precision arguments don't make sense
				if p.fmt.prec < 0 {
					p.fmt.prec = 0
					p.fmt.precPresent = false
				}
				if !p.fmt.precPresent {
					p.WriteString(badPrecString)
				}
				afterIndex = false
			} else {
				p.fmt.prec, p.fmt.precPresent, i = parsenum(format, i, end)
				if !p.fmt.precPresent {
					p.fmt.prec = 0
					p.fmt.precPresent = true
				}
			}
		}

		if !afterIndex {
			i, afterIndex = p.updateArgNumber(format, i)
		}

		if i >= end {
			p.WriteString(noVerbString)
			break
		}

		verb, w := utf8.DecodeRuneInString(format[i:])
		i += w

		switch {
		case verb == '%': // Percent does not absorb operands and ignores f.wid and f.prec.
			p.WriteByte('%')
		case !p.goodArgNum:
			p.badArgNum(verb)
		case p.argNum >= len(p.args): // No argument left over to print for the current verb.
			p.missingArg(verb)
		case verb == 'v':
			// Go syntax
			p.fmt.sharpV = p.fmt.sharp
			p.fmt.sharp = false
			// Struct-field syntax
			p.fmt.plusV = p.fmt.plus
			p.fmt.plus = false
			fallthrough
		default:
			p.printArg(p.args[p.argNum], verb)
			p.argNum++
		}
	}

	// Check for extra arguments, but only if there was at least one ordered
	// argument. Note that this behavior is necessarily different from fmt:
	// different variants of messages may opt to drop some or all of the
	// arguments.
	if !p.reordered && p.argNum < len(p.args) && p.argNum != 0 {
		p.fmt.clearflags()
		p.WriteString(extraString)
		for i, arg := range p.args[p.argNum:] {
			if i > 0 {
				p.WriteString(commaSpaceString)
			}
			if arg == nil {
				p.WriteString(nilAngleString)
			} else {
				p.WriteString(reflect.TypeOf(arg).String())
				p.WriteByte('=')
				p.printArg(arg, 'v')
			}
		}
		p.WriteByte(')')
	}
}

func (p *printer) doPrint(a []interface{}) {
	prevString := false
	for argNum, arg := range a {
		isString := arg != nil && reflect.TypeOf(arg).Kind() == reflect.String
		// Add a space between two non-string arguments.
		if argNum > 0 && !isString && !prevString {
			p.WriteByte(' ')
		}
		p.printArg(arg, 'v')
		prevString = isString
	}
}

// doPrintln is like doPrint but always adds a space between arguments
// and a newline after the last argument.
func (p *printer) doPrintln(a []interface{}) {
	for argNum, arg := range a {
		if argNum > 0 {
			p.WriteByte(' ')
		}
		p.printArg(arg, 'v')
	}
	p.WriteByte('\n')
}

redpajama_set_name: RedPajamaGithub


text:
Blazers Meltdown, Nuggets Strike Gold, Take Series Lead 3-2
The Blazers must be Coca Cola guys. They certainly don't care for the Pepsi Center. On Tuesday night they were handed one of their biggest postseason defeats in franchise history, as the Nuggets easily routed Portland 125-98 in game 5 in the Mile High City. They head back to Portland, their backs against the wall.
Of all the adversity Portland has faced this season with the death of owner Paul Allen, the devastating season ending injury to Nurkic (He has sat out with a broken leg two of the three postseasons he has been in Portland), the separated shoulder of Enes Kanter, the specter of elimination probably shouldn't be nearly the hardest pill Portland has had to swallow this season.
The Trail Blazers have to win two games or make vacation plans. It is not an easy or enviable task. First, they will have to win at home, where the Nuggets beat them in game 4 and took them to the limits in 4OT's in game 3. This part at least seems doable. Portland is 4-1 at home in the Postseason.
Damian Lillard hasn't been himself at all this series. You can see it in his eyes. He is far from the aggressive Lillard we saw against the Thunder. Far to passive and hesitant to shoot. He is shooting terribly from three (11/44 25%) in the series and has missed 9 free throws. Maybe it's fatigue. Maybe it's pressure. Heck, give Denver credit. They are playing fantastic defense. I am not trying to slam Lillard or place the blame on him. I am saying the Blazers need him to wake up. They need Logo Lillard. They need him to go supernova. Will the real Damian Lillard please stand up.
If the Blazers from game 5 are the ones we see in game 6, the series is over. The Nuggets trounced them, and are more confident than ever in this series. They were laughing at the Blazers last night. Waving them off. As far as Denver is concerned this series is over.
The Blazers went into nuclear meltdown. They couldn't buy a shot (they were 36\98 37% from the field and 10/37 27% from 3), they missed 14 free throws, they got outrebounded 62-43 (including 52-30 on defensive rebounds), and couldn't get a footing. They never led, Denver had a strong start, and it just got worse for the Blazers from there as the game went.
The Blazers were exhausted. They had looked as though they had nothing left. Their effort had absconded with their energy. The Blazers waved the white flag in the third, benching their starters and playing their bench the rest of the game. Malone kept his starters in to pound the Blazers into submission. To prove a point.
Fans can only hope Portland gives it their all in game 6, reaches deep down into their depths and leaves it on the floor. They can't lose like they did on Tuesday. They can't go into the summer that way. No, Thursday needs to be epic. The Blazers need to fight back. They will have the home crowd to fight with them, and we will till our last breath. This is Rip City. We are supposed to bury other teams, not the other way around.
Last night was devastating. But, it's not over. Not yet. The fire is near doused, but embers remain. They can be nursed back to flame by a win in game 6. They can burn again. Hope springs eternal.
May 8, 2019 Editor-in-chief
2 months ago	Analysis, Playoffs2019 NBA Semi Finals, Denver Nuggets, Portland Trail Blazers40
Home » Blog » Playoffs » Blazers Meltdown, Nuggets Strike Gold, Take Series Lead 3-2
Pressure Cooks Blazers: Denver Ties Series 2-2Blazers Shrug Off Elimination, Tie Series 3-3, Force Game 7
Deoxygenated Blazers Fall in Game 1 to Denver
Maybe it was the air up there. The Trail Blazers were in mile high city for game one of the semi finals vs the Denver Nuggets and it showed. Damian Lillard had 39 points, but he didn't look himself at all. He surely wasn't the take no prisoners Damian we saw in game 5 of […]
Time to 'Do the Opposite'
Now that Kevin Durant has gone with the, "If you can't beat 'em, join 'em" approach, the rest of the West must be wondering what's the point of the season. The Warriors just added Durant to a team that won 73 games last year. Regular season games might now be a good chance for opponents […]
Free Agency, Trades
Trail Blazers Trade Evan Turner For Kent Bazemore
The Portland Trail Blazers have traded guard/forward Evan Turner to the Atlanta Hawks for Kent Bazemore in a player for Player swap. The move improves Portland at the guard position and gives the Hawks a veteran to mentor their youth. Turner spent the past three seasons with the Blazers, after being signed in the […]
Blazers Trade Harkless, Leonard For Hassan Whiteside
The Portland Trail Blazers have traded forward Maurice Harkless and Center Meyers Leonard in a four team deal that will bring Miami Center Hassan Whiteside to Portland. The four team deal between the Trail Blazers, Heat, 76ers, and Clippers, will send Jimmy Butler and Meyers Leonard to Miami, Josh Richardson to the 76ers, Hassan […]
Analysis, Lists, Nostalgia
Blazers Top 10 Small Forwards
Possessing the mobility and quickness of a shooting guard and the athleticism and strength of a power forward, the small forward position is the most multifaceted and balanced position on a basketball team. The Portland Trail Blazers has had 64 small forwards in it's 49 year history. It's the only position on the team […]
News, Trades
Blazers Acquire Skal Labissiere
The Blazers have traded 2nd year PF Caleb Swanigan to the Sacramento Kings for big man Skal Labissiere. Swanigan, the 6ft 9 PF out of Indiana played in 45 games for the Portland Trail Blazers averaging 2.1 points, and 2.4 rebounds. He couldn't crack the rotation and played most of his minutes in garbage time, […]


You'll be able to trust Shower Pan Install to give you the most impressive services when it comes to Shower Pan in Richburg, SC. You need the most sophisticated technology in the field, and our crew of qualified professionals will supply this. We use top of the line products and budget friendly practices to ensure that you'll get the most impressive support for the best rate. Contact us by dialing 888-356-1115 and we'll be glad to talk about the choices, address all your questions, and arrange an appointment to commence arranging your project.
Lowering costs is an important part for your project. In the process, you would like the best and finest standard of services when it comes to Shower Pan in Richburg, SC. We provide you with the very best quality while helping you save money. Whenever you do business with our team, you get the advantage of our knowledge and high quality materials to ensure your project can last while saving your time and funds. We'll do that by supplying you with the best discounts in the industry and steering clear of expensive errors. Call Shower Pan Install when you want the highest quality service at the best cost. We are ready to take your phone call at 888-356-1115.
Shower Pan are available in Richburg, SC.
To put together the ideal choices with Shower Pan in Richburg, SC, you have to be well informed. You don't want to go into it without consideration, and you'll want to understand what to prepare for. That's the reason why we try to make every effort to make sure you are aware of the strategy and are not confronted by any sort of surprises. Step one is to contact us today by dialing 888-356-1115 to set up your work. During this call, you'll get all your questions addressed, and we can schedule a time to initiate the work. We work together with you throughout the entire project, and our team is going to appear promptly and well prepared.
You've got many reasons to choose Shower Pan Install to meet your needs involving Shower Pan in Richburg, SC. We will be the best choice when you require the most efficient money saving strategies, the finest supplies, and the greatest rate of customer care. We fully understand your expectations and goals, and we're available to help you using our experience. When you need Shower Pan in Richburg, get in touch with Shower Pan Install by dialing 888-356-1115, and we will be more than pleased to help.