text:
Linguistics Databases
Linguistics research touches upon many disciplines. Think outside the box when choosing databases, because linguistics articles may be found in disciplines like language and literature, social sciences, and even psychology.
All or Mostly Full Text Articles
Index to books and articles on modern languages, literatures, folklore, and linguistics.
MLA International Bibliography provides a classified listing and subject index for books and articles published on modern languages, literatures, folklore, and linguistics. Annually, it indexes more than 45,000 books and articles from more that 4,400 periodicals and 1,000 book publishers. Coverage includes works about literature that is transmitted orally, in print, or in audiovisual media and about human language, including both natural languages and invented languages (e.g., Esperanto). Inclusions must be of scholarly interest; no apprentice or simplified works are included.
JSTOR is an interdisciplinary archive of over one thousand leading academic journals from the humanities, social sciences, and sciences, as well as select monographs and other materials valuable for academic work.
JSTOR is an interdisciplinary archive of over one thousand leading academic journals from the humanities, social sciences, and sciences, as well as select monographs and other materials valuable for academic work. It is full-text searchable and includes images. There are embargos of between 3-5 years for most journal titles. Journals are always included from volume 1, issue 1.
Index and abstracts of articles, books, chapters, dissertations, and reports in psychology.
PsycINFO contains citations and summaries of journal articles, book chapters, books, dissertations, and technical reports, all in the field of psychology and the psychological aspects of related disciplines, such as medicine, psychiatry, nursing, sociology, education, pharmacology, physiology, linguistics, anthropology, business, and law.
Journal coverage includes international material selected from more than 1900 periodicals written in over 24 languages. Current chapter and book coverage includes worldwide English-language material published from 1987-present.
Communication & Mass Media Complete
Index, abstracts, and full text for journals in communication and mass media.
Communication & Mass Media Complete incorporates CommSearch (formerly produced by the National Communication Association) and Mass Media Articles Index (formerly produced by Penn State) along with numerous other journals to create a research and reference resource in the communication and mass media fields. CMMC offers cover-to-cover (core) indexing and abstracts for over 390 journals, and selected (priority) coverage of over 200 more, for a combined coverage of nearly 600 titles. Furthermore, this database includes full text for nearly 300 journals. Many major journals have indexing, abstracts, PDFs and searchable citations from their first issues to the present (dating as far back as 1915). CMMC contains a sophisticated controlled vocabulary and comprehensive reference browsing (i.e. searchable citations for all peer-reviewed journals covered as 'core').
Humanities Full Text
includes many of the most important academic journals in the humanities with topics covering classical studies, literary & social criticism, philosophy, religion & theology, literature, art, dance, film, folklore, music, performing arts, area studies, communications, gender studies, history, journalism, linguistics, archaeology
Some Full Text Articles, Some Abstract-Only
Social Sciences Citation Index (ISI)
Index, abstracts, and cited references for articles in the social sciences.
Social Sciences Citation Index (ISI) provides access to current bibliographic information and cited references, covering more than 1700 of the world's leading social sciences journals in a broad range of disciplines. It also covers individually selected, relevant items from leading natural and physical science journals. The ISI Citation Databases collectively index more than 8,000 high quality, peer-reviewed journals cover-to-cover, providing complete bibliographic data, searchable author abstracts (science and social sciences), and cited references. Researchers can search the citation data (the footnotes of each article), taking a known, relevant paper and finding other, more recent papers that cite it.
Subjects covered include, but are not limited to: Anthropology. Area studies. Business. Communication. Demography. Economics. Education. Environmental studies. Ethnic studies. Family studies. Geriatrics. Health policy. History. Industrial relations. Information Science & Library Science. International relations. Language & linguistics. Law. Management. Nursing. Philosophy. Planning and development. Political science. Psychiatry. Psychology. Public administration. Rehabilitation. Social work. Sociology. Substance abuse. Transportation. Urban studies. Womens studies.
Arts and Humanities Citation Index (ISI)
Index and cited references for articles in the arts and humanities.
Arts and Humanities Citation Index (ISI) is a multidisciplinary database covering the journal literature of the arts and humanities. It indexes over 1,100 of the world's leading arts and humanities journals, as well as covering individually selected, relevant items from over 7,000 major science and social science journals.
A&HCI also provides access to an article's cited references or the footnotes from an author's bibliography. Cited items may be critical in nature or original creative works (novels, poems, works of philosophy, paintings, musical compositions, etc.).
Subject keywords: Archaeology. Architecture. Art. Asian Studies. Classics. Dance. Folklore. History. Language. Linguistics. Literary Reviews. Literature. Music. Philosophy. Poetry. Radio, Television, & Film. Religion. Theater.
MLA Directory of Periodicals
List of periodicals in literature, language, linguistics, and folklore that are covered regularly in the MLA International Bibliography.
MLA Directory of Periodicals lists over 4400 periodicals in the areas of literature, language, linguistics, and folklore that are covered regularly in the MLA International Bibliography. The directory provides addresses, advertising rates, and information about submissions for publication. The directory also provides statistics on how many articles and book reviews the periodicals publish each year, as well as how many are submitted.
Web Resources with Linguistic Research
Google Scholar provides a simple way to broadly search for scholarly literature. From one place, you can search across many disciplines and sources: articles, theses, books, abstracts and court opinions, from academic publishers, professional societies, online repositories, universities and other web sites.
Search millions of books for helpful excerpts and previews.
MultiTree: A Digital Library of Language Relationships
MultiTree is a searchable database of all the scholarly hypotheses and their sources on the classification of a given language or language group.
The Speech Accent Archive
The speech accent archive uniformly presents a large set of speech samples from a variety of language backgrounds, to allow for the comparison and analysis of the accents of different English speakers.
TED Talks | Linguistics
TED-Ed lessons on the subject Linguistics
<< Previous: Getting Started
Next: Requesting Items via ILL >>


text:
Square Grouper's Response to COVID-19
The String Assassins
May 1, 2020 @ 8:00 pm - 11:00 pm EDT
« Josh Horton
Radio Days »
They are passionate, devoted string musicians, stretching the limits of live performance that rivals the energy of full bands. With their recent addition (Paddy King- fiddle, mandolin, cello, bass), they have taken a giant leap in marketability, standing to be one of the most progressive acoustic string bands in South Florida. They cover a wide range of genres, from America to Zeppelin, Johnny Cash to Pink Floyd, Chili Peppers, Nirvana, Hendrix, bluegrass standards, as well as original music.
1111 Love Street, Jupiter, FL 33477 | 1920 Seaway Drive, Fort Pierce, FL 34949
Sunday - Thursday: 11AM - Midnight | Friday & Saturday: 11AM - 1AM
© Copyright 2021 Castaways Bar LLC - Site by Avast Media, LLC
No Stowaways
You must be 21 years of age or older to enter The Square Grouper Tiki Bar. This means absolutely no one under the age of 21, including children.
Be prepared to show valid state or federal photo ID if you're from the United States. If you're visiting from another country, the only foreign ID accepted as proof of age is a valid passport. We require identification from anyone appearing under the age of 35.
No valid photo ID means no entry... no exceptions.
Click "I Agree" below to accept these terms.

redpajama_set_name: RedPajamaCommonCrawl


text:
G.S.R. (E).____In pursuance of sub-rule (5) of rule 10 and sub-rule (9) of rule 11 of the Central Excise Rules, 2002 made under section 37 of the Central Excise Act, 1944 (1 of 1944) and sub-rule (5) of rule 5 and sub-rule (2) of rule 4C of the Service Tax Rules, 1994 made under sub-section (1) read with sub-section (2) of section 94 of the Finance Act, 1994 (32 of 1994), the Central Board of Excise and Customs hereby specifies the following conditions, safeguards and procedures for issue of invoices, preserving records in electronic form and authentication of records and invoices by digital signatures, namely:-
1. Every assessee proposing to use digital signature shall use Class 2 or Class 3 Digital Signature Certificate duly issued by the Certifying Authority in India.
2. (i) Every assessee proposing to use digital signatures shall intimate the following details to the jurisdictional Deputy Commissioner or Assistant Commissioner of Central Excise, at least fifteen days in advance:-
a) name, e-mail id, office address and designation of the person authorised to use the digital signature certificate;
b) name of the Certifying Authority;
c) date of issue of digital certificate and validity of the digital signature with a copy of the certificate issued by the Certifying Authority along with the complete address of the said Authority:
Provided that in case of any change in the details submitted to the jurisdictional Deputy Commissioner or Assistant Commissioner, complete details shall be submitted afresh within fifteen days of such change.
(ii) Every assessee already using digital signature shall intimate to the jurisdictional Deputy Commissioner or Assistant Commissioner of Central Excise the above details within fifteen days of issue of this notification.
3. Every assessee who opts to maintain records in electronic form and who has more than one factory or service tax registration shall maintain separate electronic records for each factory or each service tax registration.
4. Every assessee who opts to maintain records in electronic form, shall on request by a Central Excise Officer, produce the specified records in electronic form and invoices through e-mail or on a specified storage device in an electronically readable format for verification of the authenticity of the document and the request for such records and invoices shall be specified in the letter or e-mail by the Central Excise Officer.
5. A Central Excise Officer, during an enquiry, investigation or audit, in accordance with the provisions of section 14 of the Central Excise Act, 1944 and as made applicable to Service Tax as per the provisions contained in section 83 of the Finance Act, 1994, may direct an assessee to furnish printouts of the records in electronic form and invoices and may resume printouts of such records and invoices after verifying the correctness of the same in electronic format; and after the print outs of such records in electronic form have been signed by the assessee or any other person authorised by the assessee in this regard, if so requested by such Central Excise Officer.
6. Every assessee who opts to maintain records in electronic form shall ensure that appropriate backup of records in electronic form is maintained and preserved for a period of 5 years immediately after the financial year to which such records pertain.
7. This notification shall come into force on the date of its publication in the Official Gazette.
[F. No. 224/44/2014-CX.6]
(ROHAN)
Under Secretary to the Government of India
Be the first to comment ...


text:
Precise Investors
Office A1, Ground Floor, 17 Lyon Road, London, SW19 2RL
info [@] preciseinvestors.com
ONS UK House Price Index Report confirms the property market's slowing growth
Richard Stanley
posted on Nov. 15, 2018 at 2:46 pm December 6, 2019
The latest Office of National Statistics UK House Price Index suggests marginal improvement in property market
The latest Office of National Statistics UK House Price Index Report has confirmed the market's slowing growth.
In the year to September, average house prices have increased by 3.5%, this is an increase of 0.4% from the 3.1% growth a month earlier.
However, the report indicates a significant slowdown in house price growth over the past two years. This is mainly attributed to the slowdown in the South East and London.
Whilst London's prices have actually fallen by 0.3% in the year to September, this figure has shrunk from the 0.6% losses reported in the year to August.
The average UK property now costs £233,000; this is an £8,000 increase on the figures from September 2018. House prices remain unchanged from the figures found in August, which is an improvement on the 0.4% decrease found between these months in 2017.
England was restricted to the smallest growth in comparison with the reset of the UK; the 3% increase outperformed by the 4.8% annual increase to September in Northern Ireland and the 5.8% annual increases enjoyed in Wales and Scotland.
Director at Search Acumen, Andy Sommerville said, while reports of a Brexit agreement have resulted in a short-term rally for sterling, a similar boost to the UK property market is unlikely to materialise until well after March 2019.
Andy said uncertainty and lack of confidence has plagued the UK property market since June 2016, deflating both buyers' ambitions and house prices in the process. Until the UK understands what Brexit truly means, buyers and property investors alike are likely to remain cautious, keeping house prices flat as a result.
He said the prospect of negative house price growth in London once seemed stranger than fiction. However, the city has now experienced 10 months of consecutive decline. The London market, formerly a hub for property investment, is bearing the brunt of the downturn, as appetite amongst foreign investors wanes, and the future of the UK and London in a post-Brexit landscape continues to remain an unknown.
As the year comes to a close and the property market braces itself for the unknown onslaught of Brexit, it is comforting to see a slight upturn in house prices.
This article is for information purposes only.
Please remember that financial investments may rise or fall and past performance does not guarantee future performance in respect of income or capital growth; you may not get back the amount you invested.
There is no obligation to purchase anything but, if you decide to do so, you are strongly advised to consult a professional adviser before making any investment decisions.
Richard Stanley November 15, 2018
Adverse trends leading to multiple shops closures in the UK likely to hit Ireland too
London offices property proves surprisingly resilient in wake of Brexit
Megvii tries again for IPO on Shanghai's Star exchange
Dollar, Treasury yields retreat from multi-month high
Baidu to set up smart EV company with car maker Geely
UK investigates Google plan to eliminate tracking cookies
NIO shares at all-time high ahead of NIO Day
Top UK bosses paid 115 times more than average worker
Live Stock Feed
KEMP HOUSE,
152-160 CITY ROAD,
Get our latest downloads and information first.
Complete the form below to subscribe to our weekly newsletter.
We will not bombard you with spam, however by signing up you will also receive emails with selected third party promotions.
Please take time to read our PRIVACY POLICY The information you provide us will be processed in accordance with this.
© Precise Investors. All rights reserved. Part of CAS Media Group Publishing Ltd whose registered office is - KEMP HOUSE, 152-160 CITY ROAD, LONDON EC1V 2NX


Barb reuses paper bags and gifts of her garden to wrap her holiday presents!
Your choices make a difference—whether it's a fun outing, a gift for a child or ocean lover or, the recipes you cook at your home!
Upcycle plastic pollution in our oceans; the Bureo skateboard is made of recycled fishing nets gathered off the Chilean coastline.
Surprise someone with an Animal Encounter!
Give a memorable experience and also provide vital support to the New England Aquarium's conservation and research mission.
Live life with less polluting plastic!
This cookbook, by W2O friend author and chef, Barton Seaver, provides simple, delicious, sustainable recipes that are good for the planet.
Learn about protecting sea turtles!
Each purchase of Liz Cunningham's book, Ocean Country, creates a donation of 21% of the book's royalties for the New England Aquarium's Marine Conservation Action Fund. MCAF is a unique and effective micro-funding program that protects and promotes ocean animals and habitats.
Give a North Atlantic right whale sponsorship. With fewer than 600 North Atlantic right whales alive today, New England Aquarium researchers are working tirelessly to study and protect this critically endangered species.
W2O and the Massachusetts Sierra Club hosted Heroes of the Oceans at the MA State House last week, honoring those that have helped pass bills banning single use plastic pollution in their towns and cities.
Educating about refusing single use plastic is not enough. The real heroes are those that take up the challenge in their communities and enacting lasting change through legislation. Mindful change matters, but those changes that spark local, city and statewide initiatives, that is what its all about.
Plastic pollution clogs our drains, litters our parks, destroys our oceans and then ends up in us. The plastic ends up in us.
Our Heroes of the Oceans made endless phone calls, spent hours explaining the damage that single use plastic does to our environment, oceans and families, and convinced town chamber, town meeting members, selectman and legislators that now is the time to act and ban single use plastic in our communities. It is hard work getting that done.
Be Prepared! Be Educated! Take Action!
Sea Level Rise-Why Worry Now?
Is sea level rise something we need to be concerned about right now? If you look at the data from the Union of Concerned Scientists, it seems far off somehow yet, we are seeing the water rise and cities and towns are talking about mitigation to protect vulnerable property. So what is going on? What action can we take?
Sea level rise, caused by human induced climate change, amplifies the effects of tidal height and storm surge associated with all coastal storms. A storm doesn't need to be "super" to cause significant damage. Most people remember Hurricane Sandy. The iconic images of the massive storm taken by satellite; the bent and twisted frame of the drowned roller coaster sitting placidly in the surf just off the Jersey Shore; the flooded tunnels of the New York City subway system and lower Manhattan are hard to forget. Similarly, we shudder at the memory of New Orleans residents clinging to their roofs awaiting rescue by helicopters during Hurricane Katrina. Yet, we also tend to dismiss such happenings as anomalies. We call them "super storms " or "100-year storms" and unless we were directly impacted, go on with our lives.
Because of warming seas from human induced climate change, scientists warn that 100-year storms are becoming more frequent. Coastal flood advisories and flood watches due to "astronomical tides" were in effect recently in locations from Key West to Maine, including Boston, Baltimore, Washington, DC, and other cities in between. In the southern part of Florida, a third night of flooding closed roads, flooded sidewalks and led to some of the most extensive tidal flooding they'd ever witnessed. Charlestown has seen consecutive days with road closure due to flooding and lives were lost due to rising waters. Last month's king tide saw alligators swimming in flooded streets.
One constant piece of this phenomenon, the monthly ebb & flow of the tide, is just doing what it does, albeit with an extra kick when there is a king tide. With sea level rise, the highest tides are only getting higher, due to the thermal expansion caused by the increasing warm air and water and the flooding they bring is getting more frequent. Regardless of whether you live along the coast or in the nation's heartland, the impact will be both economic and geographic.
Many of our most populous metropolitan areas are located where the ocean meets the land. In fact more than 100 million people live in coastal counties. These counties produce 42 percent of the US economy's GDP. Besides being financial, military and government centers, these areas are home to the largest ports in our country. A quick glance at the list of the top five ports in the continental US, illustrates the vulnerabilities. They are located in Louisiana, Texas, New York/New Jersey, and account for billions of metric tons in movement of goods, both exports and imports, annually. In the past decade, each one has been impacted by a significant meteorological event, either Sandy or Katrina, and is located in a low-lying area impacted by tidal flooding and sea level rise.
When storms arrive, airports, cargo ports and financial centers close halting the movement of goods and people, slowing the economy and impacting people's livelihoods. When land is washed away or homes and businesses are destroyed by floodwater, people's life savings are threatened; they may be left homeless and jobless. These impacts will be more frequent as sea levels rise and storms become stronger.
What can we as ordinary citizens do to help prepare and protect our family, communities, and our society for sea level rise?
Be educated. By learning all that we can about climate change and sea level rise, we can support efforts to stem the tide.
Be prepared. Make sure our families are ready for a big storm by having a plan and the necessary items on hand to make sure we stay safe.
Be inspired to take action. Support legislation that demands action on climate change and reduce your own carbon footprint. Having a home energy audit is a great place to start!
Join us for Boston Waters Rising on October 29th and learn more!
Storm Surge occurs when the winds from coastal storms push water inland. It occurs at all tide levels, but causes the most damage at high tides and king tides. In other words, the higher the water level at the time of the surge, the more water will be pushed inland, resulting in greater flooding. The greater the flooding, the longer it will last, simply because the water will take longer to drain away. The longer the flooding lasts the more human suffering and economic damage it will inflict.
A King Tide The height of a tide is controlled by the gravitational pull of the moon on the earth, which varies during the month, as the moon waxes and wanes. The tide is highest when we have a full moon or a new moon. A king tide occurs several times during the year when the moon's elliptical orbit brings it closest to the Earth at the same time the Earth's elliptical orbit brings it closest to the sun.
Sea Level Rise is an increase in the level of our oceans, relative to the land. It is generally measured in three ways: satellite data, tide gauges, and land benchmarks. Sea level rise is occurring because of two phenomena – the absorption of additional heat in our atmosphere by the ocean and the melting of land ice (glaciers & ice sheets). Although scientific estimates vary about the amount of sea level rise we will experience, due to uncertain rates of land ice melt, climate scientists all agree that globally seas have risen an average of 8 inches since 1880 and that they will continue to rise from their present level.
Getting plastic, especially single use, out of your kitchen doesn't have to be inconvenient, expensive or a drag. A tiny bit of thought and some help from our plastic free links will set you on your way to living without single use plastic. Once the bug has taken hold, you won't look back. Good for you, Good for the Oceans.
W2O's event Water Rising: The Impact on Humanity, was a huge success. The Imax was nearly full; our luncheon sold out. Union of Concerned Scientist Senior Analyst Erika Spanger-Siegfried's explanation of the science of warming oceans inspired conversations about the affects of sea level rise across the globe. The juxtaposition of what actions rich and poor nations are taking to mitigate and prepare for rising seas was clearly shown in George Steinmetz's moving photography. But success for W2O is measured by what happens after you leave our events. Are you taking the message home to your family and communities? Educating to inspire action is our mission!
Please take a look at the action card, given to each attendee at our event, and consider how you can help reduce emission that have ramifications close to home and as far away as Kiribati, the island nation and home to our event guest Ambassador Baaro.
Founder and Chair of W2O, Barbara Burgess says, "Now is the time to take action to protect our blue planet." Join W2O, "like us" on Facebook to make sure that you are up to date on all of our events, and tell a friend about what you are doing today to take action on this important issue. Thank you for joining with us to make our blue planet sustainable!


Marriage is an institution of close complimentary cooperation. Its success or failure depends on the couple's ability to work together as a team.
An Astrologer ensures the same by scientifically Matching the Horoscopes of the couple with respect to certain Points which cover and describe the 'Essentials of Marriage' such as conjugal bliss, growth of family, socio-economic status after marriage etc.
The Points are matched to derive at a score which is with respect to each others Moon Sign.
How many Gunas (Matching Points) are there?
What do these Gunas represent?
Is the match essentially very good if number of Gunas matching shows high percentage?
VARNA - One Point is allotted to this Guna.
Ego- Problems between the couple can be prevented by matching this Guna with care.
VASHYA – Two Points are allotted to this Guna.
It shows intensity of love& mutual attraction between the couple.
TARA – Three Points are allotted to this. Compatibility in this regard shows longevity and health of the couple.
YONI – Four Points are given to this Match Point. It shows sexual and biological compatibility. It indicates conjugal bliss.
GRAHA MAITRI - Five Points are given If compatibility exists in this regard. It gives good progeny. Points are given on the basis of degree of friendship between the lords of the Moon Sign of the couple.
GANA MAITRI - Six Points are allotted if compatibility exists in this regard. It reflects if the basic characteristics and temperament of the couple will match with each other or not. The Social interaction of the couple amongst friends and family might be nil or very rare if there is gana dosha for the simple reason that both will like different kind of persons as friends and might choose different places of entertainment.
BHAKOOTA - Seven Points are given for this guna. It holds great importance as it controls many factors such as Socio- Economic Status, Progenic happiness, growth of family, Family Welfare etc. A couple with a severe Bhakoot dosha can struggle for financial stability or lack of progenic bliss.
NADI - Eight Points are reserved for this Guna as this is the most important one. It represents Pulse or nervous energy. If full scores are obtained for the above gunas and compatibility does not exist in this regard, the match is rejected because it can lead to the death of one partner. It shows length of togetherness in marriage.
RAJJU AGREEMENT - No Points have been reserved for this but it is essential to match it. It gives duration of married life.
MAHENDRA - It bestows luck through sons, promotes well being and longevity of the couple.
STREE DERGHA KOOTA - It gives all round prosperity and wealth.
VEDHA - Certain pairs of nakshatras are prohibited. Marriage of a couple falling in above pairs is prohibited.
TATTWA - There are three tattwas- Prithvi, Jal, Agni, Vayu, Akash. Nakshatra of boy and girl should not belong to Agni, and Jal tattwa and vice-versa.
Discussion - Therefore total number of gunas obtained to decide if the couple should marry is not always the correct approach. The analysis should essentially be performed qualitatively not quantitatively.
Moreover, individual analysis of the horoscope is very essential with respect to longevity and affliction of 7th and 8th houses.
Manglik yoga and its cancellation if one of them is not manglik should be carefully adjudged.
Mental stability, prosperity, good health, morality and character etc should also be checked before reaching to any conclusions.
Forthcoming Dashas and Antardashas should also be checked. If marak dashas or period of Badhak planets are falling immediately after marriage in any of the charts it might give a wrong start even if the matching of Gunas declairs high scores.
All of this should be done before starting to match the Gunas though mentioned lastly because if the Quality of Birth Chart is not good there is no use of match the gunas.


As part of our decorating service, we can offer a re-skimming of plaster walls service that'll provide the perfect base for all your future plans. Even the most tired walls can be replastered by our experienced tradesmen saving you from failing after your own attempts. Plastering any kind of surface is a rather messy business. And if you aren't able to achieve a perfect finish no amount of wallpaper or paint will hide it from view. Handyman Express got you covered whether you need a skimming coat over existing plaster or old plastering coat that needs to be stripped down and replastered. The technicians can help you decide whether you need a complete strip down of the old coat or just a quick repatch and filling of cracks.
From start to finish our skilled plasterers will provide a superior surface for all your walls.
As soon as you notice those nicks, dents, and scratches give us a call and we'll repair them before they get worse. We've been working in the industry for more than ten years and have successfully completed countless projects all across London. We carry out our services according to your requirements at a time that suits you. Our technician will observe the state of your walls and after that recommend the best solution for your case. For minor damage to the wall, the solution would be a simple skimming procedure. For bigger dents and cracks, it would most likely be replastering. It all comes to the particular situation, that is why on site visits and quotes are provided. There are other options on the market, like drywall or plasterboard, our experienced handymen will advise you depending on the state of your property, level of the walls and ceilings and a bunch of other factors, for which you won't have to worry about.
Note: If you have cracks, holes, and dents on the outside of your property don't worry. The service you need is called, rendering. Yes, of course, our teams can do that too. It is basically the same as plastering, however, it is done with different products, and in essence stronger compounds. Even if you don't have cracks on your walls, a quick rendering of your outside walls plus adding some isolation will noticeably increase the amount of heat your home can preserve during the winter. It will make your home more energy efficient, which is always a good investment!
When the time comes for decorating ensure perfect results with the help of our handyman. Don't waste your time and effort on this messy job only to be left with a finish that needs professional help. Save money by booking a cost-effective alternative to doing it yourself. Our customer service lines are always open whether you contact us online or over the phone. Manned by honest and friendly guys and girls who have all the time in the world to provide the answers to your questions and help you make a booking for one of our many services.


text:
package main

import (
	"gopkg.in/kataras/iris.v6"
	"gopkg.in/kataras/iris.v6/adaptors/httprouter"
	"gopkg.in/kataras/iris.v6/adaptors/sessions"
	"gopkg.in/kataras/iris.v6/adaptors/sessions/sessiondb/redis"
	"gopkg.in/kataras/iris.v6/adaptors/sessions/sessiondb/redis/service"
)

func main() {
	// replace with your running redis' server settings:
	db := redis.New(service.Config{Network: service.DefaultRedisNetwork,
		Addr:          service.DefaultRedisAddr,
		Password:      "",
		Database:      "",
		MaxIdle:       0,
		MaxActive:     0,
		IdleTimeout:   service.DefaultRedisIdleTimeout,
		Prefix:        "",
		MaxAgeSeconds: service.DefaultRedisMaxAgeSeconds}) // optionally configure the bridge between your redis server

	mySessions := sessions.New(sessions.Config{Cookie: "mysessionid"})

	//
	// IMPORTANT:
	//
	mySessions.UseDatabase(db)

	// the rest of the code stays the same.
	app := iris.New()
	app.Adapt(iris.DevLogger()) // enable all (error) logs
	app.Adapt(httprouter.New()) // select the httprouter as the servemux

	// Adapt the session manager we just created
	app.Adapt(mySessions)

	app.Get("/", func(ctx *iris.Context) {
		ctx.Writef("You should navigate to the /set, /get, /delete, /clear,/destroy instead")
	})
	app.Get("/set", func(ctx *iris.Context) {

		//set session values
		ctx.Session().Set("name", "iris")

		//test if setted here
		ctx.Writef("All ok session setted to: %s", ctx.Session().GetString("name"))
	})

	app.Get("/get", func(ctx *iris.Context) {
		// get a specific key, as string, if no found returns just an empty string
		name := ctx.Session().GetString("name")

		ctx.Writef("The name on the /set was: %s", name)
	})

	app.Get("/delete", func(ctx *iris.Context) {
		// delete a specific key
		ctx.Session().Delete("name")
	})

	app.Get("/clear", func(ctx *iris.Context) {
		// removes all entries
		ctx.Session().Clear()
	})

	app.Get("/destroy", func(ctx *iris.Context) {
		//destroy, removes the entire session data and cookie
		ctx.SessionDestroy()
	})

	app.Listen(":8080")
}

redpajama_set_name: RedPajamaGithub


text:
package hugolib

import (
	"encoding/json"
	"fmt"
	"io/ioutil"
	"os"
	"path/filepath"
	"strings"
	"testing"

	"github.com/gobuffalo/flect"
	"github.com/gohugoio/hugo/config"
	"github.com/gohugoio/hugo/publisher"

	qt "github.com/frankban/quicktest"
	"github.com/gohugoio/hugo/deps"
	"github.com/gohugoio/hugo/resources/page"
)

const (
	templateMissingFunc = "{{ .Title | funcdoesnotexists }}"
	templateWithURLAbs  = "Going"
)

func TestRenderWithInvalidTemplate(t *testing.T) {
	t.Parallel()
	cfg, fs := newTestCfg()

	writeSource(t, fs, filepath.Join("content", "foo.md"), "foo")

	withTemplate := createWithTemplateFromNameValues("missing", templateMissingFunc)

	buildSingleSiteExpected(t, true, false, deps.DepsCfg{Fs: fs, Cfg: cfg, WithTemplate: withTemplate}, BuildCfg{})
}

func TestDraftAndFutureRender(t *testing.T) {
	t.Parallel()
	sources := [][2]string{
		{filepath.FromSlash("sect/doc1.md"), "---\ntitle: doc1\ndraft: true\npublishdate: \"2414-05-29\"\n---\n# doc1\n*some content*"},
		{filepath.FromSlash("sect/doc2.md"), "---\ntitle: doc2\ndraft: true\npublishdate: \"2012-05-29\"\n---\n# doc2\n*some content*"},
		{filepath.FromSlash("sect/doc3.md"), "---\ntitle: doc3\ndraft: false\npublishdate: \"2414-05-29\"\n---\n# doc3\n*some content*"},
		{filepath.FromSlash("sect/doc4.md"), "---\ntitle: doc4\ndraft: false\npublishdate: \"2012-05-29\"\n---\n# doc4\n*some content*"},
	}

	siteSetup := func(t *testing.T, configKeyValues ...any) *Site {
		cfg, fs := newTestCfg()

		cfg.Set("baseURL", "http://auth/bub")

		for i := 0; i < len(configKeyValues); i += 2 {
			cfg.Set(configKeyValues[i].(string), configKeyValues[i+1])
		}

		for _, src := range sources {
			writeSource(t, fs, filepath.Join("content", src[0]), src[1])
		}

		return buildSingleSite(t, deps.DepsCfg{Fs: fs, Cfg: cfg}, BuildCfg{})
	}

	// Testing Defaults.. Only draft:true and publishDate in the past should be rendered
	s := siteSetup(t)
	if len(s.RegularPages()) != 1 {
		t.Fatal("Draft or Future dated content published unexpectedly")
	}

	// only publishDate in the past should be rendered
	s = siteSetup(t, "buildDrafts", true)
	if len(s.RegularPages()) != 2 {
		t.Fatal("Future Dated Posts published unexpectedly")
	}

	//  drafts should not be rendered, but all dates should
	s = siteSetup(t,
		"buildDrafts", false,
		"buildFuture", true)

	if len(s.RegularPages()) != 2 {
		t.Fatal("Draft posts published unexpectedly")
	}

	// all 4 should be included
	s = siteSetup(t,
		"buildDrafts", true,
		"buildFuture", true)

	if len(s.RegularPages()) != 4 {
		t.Fatal("Drafts or Future posts not included as expected")
	}
}

func TestFutureExpirationRender(t *testing.T) {
	t.Parallel()
	sources := [][2]string{
		{filepath.FromSlash("sect/doc3.md"), "---\ntitle: doc1\nexpirydate: \"2400-05-29\"\n---\n# doc1\n*some content*"},
		{filepath.FromSlash("sect/doc4.md"), "---\ntitle: doc2\nexpirydate: \"2000-05-29\"\n---\n# doc2\n*some content*"},
	}

	siteSetup := func(t *testing.T) *Site {
		cfg, fs := newTestCfg()
		cfg.Set("baseURL", "http://auth/bub")

		for _, src := range sources {
			writeSource(t, fs, filepath.Join("content", src[0]), src[1])
		}

		return buildSingleSite(t, deps.DepsCfg{Fs: fs, Cfg: cfg}, BuildCfg{})
	}

	s := siteSetup(t)

	if len(s.AllPages()) != 1 {
		if len(s.RegularPages()) > 1 {
			t.Fatal("Expired content published unexpectedly")
		}

		if len(s.RegularPages()) < 1 {
			t.Fatal("Valid content expired unexpectedly")
		}
	}

	if s.AllPages()[0].Title() == "doc2" {
		t.Fatal("Expired content published unexpectedly")
	}
}

func TestLastChange(t *testing.T) {
	t.Parallel()

	cfg, fs := newTestCfg()
	c := qt.New(t)

	writeSource(t, fs, filepath.Join("content", "sect/doc1.md"), "---\ntitle: doc1\nweight: 1\ndate: 2014-05-29\n---\n# doc1\n*some content*")
	writeSource(t, fs, filepath.Join("content", "sect/doc2.md"), "---\ntitle: doc2\nweight: 2\ndate: 2015-05-29\n---\n# doc2\n*some content*")
	writeSource(t, fs, filepath.Join("content", "sect/doc3.md"), "---\ntitle: doc3\nweight: 3\ndate: 2017-05-29\n---\n# doc3\n*some content*")
	writeSource(t, fs, filepath.Join("content", "sect/doc4.md"), "---\ntitle: doc4\nweight: 4\ndate: 2016-05-29\n---\n# doc4\n*some content*")
	writeSource(t, fs, filepath.Join("content", "sect/doc5.md"), "---\ntitle: doc5\nweight: 3\n---\n# doc5\n*some content*")

	s := buildSingleSite(t, deps.DepsCfg{Fs: fs, Cfg: cfg}, BuildCfg{SkipRender: true})

	c.Assert(s.Info.LastChange().IsZero(), qt.Equals, false)
	c.Assert(s.Info.LastChange().Year(), qt.Equals, 2017)
}

// Issue #_index
func TestPageWithUnderScoreIndexInFilename(t *testing.T) {
	t.Parallel()

	cfg, fs := newTestCfg()
	c := qt.New(t)

	writeSource(t, fs, filepath.Join("content", "sect/my_index_file.md"), "---\ntitle: doc1\nweight: 1\ndate: 2014-05-29\n---\n# doc1\n*some content*")

	s := buildSingleSite(t, deps.DepsCfg{Fs: fs, Cfg: cfg}, BuildCfg{SkipRender: true})

	c.Assert(len(s.RegularPages()), qt.Equals, 1)
}

// Issue #957
func TestCrossrefs(t *testing.T) {
	t.Parallel()
	for _, uglyURLs := range []bool{true, false} {
		for _, relative := range []bool{true, false} {
			doTestCrossrefs(t, relative, uglyURLs)
		}
	}
}

func doTestCrossrefs(t *testing.T, relative, uglyURLs bool) {
	c := qt.New(t)

	baseURL := "http://foo/bar"

	var refShortcode string
	var expectedBase string
	var expectedURLSuffix string
	var expectedPathSuffix string

	if relative {
		refShortcode = "relref"
		expectedBase = "/bar"
	} else {
		refShortcode = "ref"
		expectedBase = baseURL
	}

	if uglyURLs {
		expectedURLSuffix = ".html"
		expectedPathSuffix = ".html"
	} else {
		expectedURLSuffix = "/"
		expectedPathSuffix = "/index.html"
	}

	doc3Slashed := filepath.FromSlash("/sect/doc3.md")

	sources := [][2]string{
		{
			filepath.FromSlash("sect/doc1.md"),
			fmt.Sprintf(`Ref 2: {{< %s "sect/doc2.md" >}}`, refShortcode),
		},
		// Issue #1148: Make sure that no P-tags is added around shortcodes.
		{
			filepath.FromSlash("sect/doc2.md"),
			fmt.Sprintf(`**Ref 1:**

{{< %s "sect/doc1.md" >}}

THE END.`, refShortcode),
		},
		// Issue #1753: Should not add a trailing newline after shortcode.
		{
			filepath.FromSlash("sect/doc3.md"),
			fmt.Sprintf(`**Ref 1:** {{< %s "sect/doc3.md" >}}.`, refShortcode),
		},
		// Issue #3703
		{
			filepath.FromSlash("sect/doc4.md"),
			fmt.Sprintf(`**Ref 1:** {{< %s "%s" >}}.`, refShortcode, doc3Slashed),
		},
	}

	cfg, fs := newTestCfg()

	cfg.Set("baseURL", baseURL)
	cfg.Set("uglyURLs", uglyURLs)
	cfg.Set("verbose", true)

	for _, src := range sources {
		writeSource(t, fs, filepath.Join("content", src[0]), src[1])
	}

	s := buildSingleSite(
		t,
		deps.DepsCfg{
			Fs:           fs,
			Cfg:          cfg,
			WithTemplate: createWithTemplateFromNameValues("_default/single.html", "{{.Content}}"),
		},
		BuildCfg{})

	c.Assert(len(s.RegularPages()), qt.Equals, 4)

	th := newTestHelper(s.Cfg, s.Fs, t)

	tests := []struct {
		doc      string
		expected string
	}{
		{filepath.FromSlash(fmt.Sprintf("public/sect/doc1%s", expectedPathSuffix)), fmt.Sprintf("
Ref 2: %s/sect/doc2%s
\n", expectedBase, expectedURLSuffix)},
		{filepath.FromSlash(fmt.Sprintf("public/sect/doc2%s", expectedPathSuffix)), fmt.Sprintf("
Ref 1:
\n%s/sect/doc1%s\n
THE END.
\n", expectedBase, expectedURLSuffix)},
		{filepath.FromSlash(fmt.Sprintf("public/sect/doc3%s", expectedPathSuffix)), fmt.Sprintf("
Ref 1: %s/sect/doc3%s.
\n", expectedBase, expectedURLSuffix)},
		{filepath.FromSlash(fmt.Sprintf("public/sect/doc4%s", expectedPathSuffix)), fmt.Sprintf("
Ref 1: %s/sect/doc3%s.
\n", expectedBase, expectedURLSuffix)},
	}

	for _, test := range tests {
		th.assertFileContent(test.doc, test.expected)
	}
}

// Issue #939
// Issue #1923
func TestShouldAlwaysHaveUglyURLs(t *testing.T) {
	t.Parallel()
	for _, uglyURLs := range []bool{true, false} {
		doTestShouldAlwaysHaveUglyURLs(t, uglyURLs)
	}
}

func doTestShouldAlwaysHaveUglyURLs(t *testing.T, uglyURLs bool) {
	cfg, fs := newTestCfg()
	c := qt.New(t)

	cfg.Set("verbose", true)
	cfg.Set("baseURL", "http://auth/bub")
	cfg.Set("uglyURLs", uglyURLs)

	sources := [][2]string{
		{filepath.FromSlash("sect/doc1.md"), "---\nmarkup: markdown\n---\n# title\nsome *content*"},
		{filepath.FromSlash("sect/doc2.md"), "---\nurl: /ugly.html\nmarkup: markdown\n---\n# title\ndoc2 *content*"},
	}

	for _, src := range sources {
		writeSource(t, fs, filepath.Join("content", src[0]), src[1])
	}

	writeSource(t, fs, filepath.Join("layouts", "index.html"), "Home Sweet {{ if.IsHome  }}Home{{ end }}.")
	writeSource(t, fs, filepath.Join("layouts", "_default/single.html"), "{{.Content}}{{ if.IsHome  }}This is not home!{{ end }}")
	writeSource(t, fs, filepath.Join("layouts", "404.html"), "Page Not Found.{{ if.IsHome  }}This is not home!{{ end }}")
	writeSource(t, fs, filepath.Join("layouts", "rss.xml"), "<root>RSS</root>")
	writeSource(t, fs, filepath.Join("layouts", "sitemap.xml"), "<root>SITEMAP</root>")

	s := buildSingleSite(t, deps.DepsCfg{Fs: fs, Cfg: cfg}, BuildCfg{})

	var expectedPagePath string
	if uglyURLs {
		expectedPagePath = "public/sect/doc1.html"
	} else {
		expectedPagePath = "public/sect/doc1/index.html"
	}

	tests := []struct {
		doc      string
		expected string
	}{
		{filepath.FromSlash("public/index.html"), "Home Sweet Home."},
		{filepath.FromSlash(expectedPagePath), "
title
\n
some content
\n"},
		{filepath.FromSlash("public/404.html"), "Page Not Found."},
		{filepath.FromSlash("public/index.xml"), "<root>RSS</root>"},
		{filepath.FromSlash("public/sitemap.xml"), "<root>SITEMAP</root>"},
		// Issue #1923
		{filepath.FromSlash("public/ugly.html"), "
title
\n
doc2 content
\n"},
	}

	for _, p := range s.RegularPages() {
		c.Assert(p.IsHome(), qt.Equals, false)
	}

	for _, test := range tests {
		content := readWorkingDir(t, fs, test.doc)

		if content != test.expected {
			t.Errorf("%s content expected:\n%q\ngot:\n%q", test.doc, test.expected, content)
		}
	}
}

// Issue #3355
func TestShouldNotWriteZeroLengthFilesToDestination(t *testing.T) {
	cfg, fs := newTestCfg()

	writeSource(t, fs, filepath.Join("content", "simple.html"), "simple")
	writeSource(t, fs, filepath.Join("layouts", "_default/single.html"), "{{.Content}}")
	writeSource(t, fs, filepath.Join("layouts", "_default/list.html"), "")

	s := buildSingleSite(t, deps.DepsCfg{Fs: fs, Cfg: cfg}, BuildCfg{})
	th := newTestHelper(s.Cfg, s.Fs, t)

	th.assertFileNotExist(filepath.Join("public", "index.html"))
}

func TestMainSections(t *testing.T) {
	c := qt.New(t)
	for _, paramSet := range []bool{false, true} {
		c.Run(fmt.Sprintf("param-%t", paramSet), func(c *qt.C) {
			v := config.NewWithTestDefaults()
			if paramSet {
				v.Set("params", map[string]any{
					"mainSections": []string{"a1", "a2"},
				})
			}

			b := newTestSitesBuilder(c).WithViper(v)

			for i := 0; i < 20; i++ {
				b.WithContent(fmt.Sprintf("page%d.md", i), `---
title: "Page"
---
`)
			}

			for i := 0; i < 5; i++ {
				b.WithContent(fmt.Sprintf("blog/page%d.md", i), `---
title: "Page"
tags: ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
---
`)
			}

			for i := 0; i < 3; i++ {
				b.WithContent(fmt.Sprintf("docs/page%d.md", i), `---
title: "Page"
---
`)
			}

			b.WithTemplates("index.html", `
mainSections: {{ .Site.Params.mainSections }}

{{ range (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) }}
Main section page: {{ .RelPermalink }}
{{ end }}
`)

			b.Build(BuildCfg{})

			if paramSet {
				b.AssertFileContent("public/index.html", "mainSections: [a1 a2]")
			} else {
				b.AssertFileContent("public/index.html", "mainSections: [blog]", "Main section page: /blog/page3/")
			}
		})
	}
}

// Issue #1176
func TestSectionNaming(t *testing.T) {
	for _, canonify := range []bool{true, false} {
		for _, uglify := range []bool{true, false} {
			for _, pluralize := range []bool{true, false} {
				canonify := canonify
				uglify := uglify
				pluralize := pluralize
				t.Run(fmt.Sprintf("canonify=%t,uglify=%t,pluralize=%t", canonify, uglify, pluralize), func(t *testing.T) {
					t.Parallel()
					doTestSectionNaming(t, canonify, uglify, pluralize)
				})
			}
		}
	}
}

func doTestSectionNaming(t *testing.T, canonify, uglify, pluralize bool) {
	c := qt.New(t)

	var expectedPathSuffix string

	if uglify {
		expectedPathSuffix = ".html"
	} else {
		expectedPathSuffix = "/index.html"
	}

	sources := [][2]string{
		{filepath.FromSlash("sect/doc1.html"), "doc1"},
		// Add one more page to sect to make sure sect is picked in mainSections
		{filepath.FromSlash("sect/sect.html"), "sect"},
		{filepath.FromSlash("Fish and Chips/doc2.html"), "doc2"},
		{filepath.FromSlash("ラーメン/doc3.html"), "doc3"},
	}

	cfg, fs := newTestCfg()

	cfg.Set("baseURL", "http://auth/sub/")
	cfg.Set("uglyURLs", uglify)
	cfg.Set("pluralizeListTitles", pluralize)
	cfg.Set("canonifyURLs", canonify)

	for _, src := range sources {
		writeSource(t, fs, filepath.Join("content", src[0]), src[1])
	}

	writeSource(t, fs, filepath.Join("layouts", "_default/single.html"), "{{.Content}}")
	writeSource(t, fs, filepath.Join("layouts", "_default/list.html"), "{{ .Kind }}|{{.Title}}")

	s := buildSingleSite(t, deps.DepsCfg{Fs: fs, Cfg: cfg}, BuildCfg{})

	mainSections, err := s.Info.Param("mainSections")
	c.Assert(err, qt.IsNil)
	c.Assert(mainSections, qt.DeepEquals, []string{"sect"})

	th := newTestHelper(s.Cfg, s.Fs, t)
	tests := []struct {
		doc         string
		pluralAware bool
		expected    string
	}{
		{filepath.FromSlash(fmt.Sprintf("sect/doc1%s", expectedPathSuffix)), false, "doc1"},
		{filepath.FromSlash(fmt.Sprintf("sect%s", expectedPathSuffix)), true, "Sect"},
		{filepath.FromSlash(fmt.Sprintf("fish-and-chips/doc2%s", expectedPathSuffix)), false, "doc2"},
		{filepath.FromSlash(fmt.Sprintf("fish-and-chips%s", expectedPathSuffix)), true, "Fish and Chips"},
		{filepath.FromSlash(fmt.Sprintf("ラーメン/doc3%s", expectedPathSuffix)), false, "doc3"},
		{filepath.FromSlash(fmt.Sprintf("ラーメン%s", expectedPathSuffix)), true, "ラーメン"},
	}

	for _, test := range tests {

		if test.pluralAware && pluralize {
			test.expected = flect.Pluralize(test.expected)
		}

		th.assertFileContent(filepath.Join("public", test.doc), test.expected)
	}
}

func TestAbsURLify(t *testing.T) {
	t.Parallel()
	sources := [][2]string{
		{filepath.FromSlash("sect/doc1.html"), "<!doctype html>link"},
		{filepath.FromSlash("blue/doc2.html"), "---\nf: t\n---\n<!doctype html>more content"},
	}
	for _, baseURL := range []string{"http://auth/bub", "http://base", "//base"} {
		for _, canonify := range []bool{true, false} {

			cfg, fs := newTestCfg()

			cfg.Set("uglyURLs", true)
			cfg.Set("canonifyURLs", canonify)
			cfg.Set("baseURL", baseURL)

			for _, src := range sources {
				writeSource(t, fs, filepath.Join("content", src[0]), src[1])
			}

			writeSource(t, fs, filepath.Join("layouts", "blue/single.html"), templateWithURLAbs)

			s := buildSingleSite(t, deps.DepsCfg{Fs: fs, Cfg: cfg}, BuildCfg{})
			th := newTestHelper(s.Cfg, s.Fs, t)

			tests := []struct {
				file, expected string
			}{
				{"public/blue/doc2.html", "Going"},
				{"public/sect/doc1.html", "<!doctype html>link"},
			}

			for _, test := range tests {

				expected := test.expected

				if strings.Contains(expected, "%s") {
					expected = fmt.Sprintf(expected, baseURL)
				}

				if !canonify {
					expected = strings.Replace(expected, baseURL, "", -1)
				}

				th.assertFileContent(test.file, expected)

			}
		}
	}
}

var weightedPage1 = `+++
weight = "2"
title = "One"
my_param = "foo"
my_date = 1979-05-27T07:32:00Z
+++
Front Matter with Ordered Pages`

var weightedPage2 = `+++
weight = "6"
title = "Two"
publishdate = "2012-03-05"
my_param = "foo"
+++
Front Matter with Ordered Pages 2`

var weightedPage3 = `+++
weight = "4"
title = "Three"
date = "2012-04-06"
publishdate = "2012-04-06"
my_param = "bar"
only_one = "yes"
my_date = 2010-05-27T07:32:00Z
+++
Front Matter with Ordered Pages 3`

var weightedPage4 = `+++
weight = "4"
title = "Four"
date = "2012-01-01"
publishdate = "2012-01-01"
my_param = "baz"
my_date = 2010-05-27T07:32:00Z
summary = "A _custom_ summary"
categories = [ "hugo" ]
+++
Front Matter with Ordered Pages 4. This is longer content`

var weightedPage5 = `+++
weight = "5"
title = "Five"

[_build]
render = "never"
+++
Front Matter with Ordered Pages 5`

var weightedSources = [][2]string{
	{filepath.FromSlash("sect/doc1.md"), weightedPage1},
	{filepath.FromSlash("sect/doc2.md"), weightedPage2},
	{filepath.FromSlash("sect/doc3.md"), weightedPage3},
	{filepath.FromSlash("sect/doc4.md"), weightedPage4},
	{filepath.FromSlash("sect/doc5.md"), weightedPage5},
}

func TestOrderedPages(t *testing.T) {
	t.Parallel()
	cfg, fs := newTestCfg()
	cfg.Set("baseURL", "http://auth/bub")

	for _, src := range weightedSources {
		writeSource(t, fs, filepath.Join("content", src[0]), src[1])
	}

	s := buildSingleSite(t, deps.DepsCfg{Fs: fs, Cfg: cfg}, BuildCfg{SkipRender: true})

	if s.getPage(page.KindSection, "sect").Pages()[1].Title() != "Three" || s.getPage(page.KindSection, "sect").Pages()[2].Title() != "Four" {
		t.Error("Pages in unexpected order.")
	}

	bydate := s.RegularPages().ByDate()

	if bydate[0].Title() != "One" {
		t.Errorf("Pages in unexpected order. First should be '%s', got '%s'", "One", bydate[0].Title())
	}

	rev := bydate.Reverse()
	if rev[0].Title() != "Three" {
		t.Errorf("Pages in unexpected order. First should be '%s', got '%s'", "Three", rev[0].Title())
	}

	bypubdate := s.RegularPages().ByPublishDate()

	if bypubdate[0].Title() != "One" {
		t.Errorf("Pages in unexpected order. First should be '%s', got '%s'", "One", bypubdate[0].Title())
	}

	rbypubdate := bypubdate.Reverse()
	if rbypubdate[0].Title() != "Three" {
		t.Errorf("Pages in unexpected order. First should be '%s', got '%s'", "Three", rbypubdate[0].Title())
	}

	bylength := s.RegularPages().ByLength()
	if bylength[0].Title() != "One" {
		t.Errorf("Pages in unexpected order. First should be '%s', got '%s'", "One", bylength[0].Title())
	}

	rbylength := bylength.Reverse()
	if rbylength[0].Title() != "Four" {
		t.Errorf("Pages in unexpected order. First should be '%s', got '%s'", "Four", rbylength[0].Title())
	}
}

var groupedSources = [][2]string{
	{filepath.FromSlash("sect1/doc1.md"), weightedPage1},
	{filepath.FromSlash("sect1/doc2.md"), weightedPage2},
	{filepath.FromSlash("sect2/doc3.md"), weightedPage3},
	{filepath.FromSlash("sect3/doc4.md"), weightedPage4},
}

func TestGroupedPages(t *testing.T) {
	t.Parallel()
	defer func() {
		if r := recover(); r != nil {
			fmt.Println("Recovered in f", r)
		}
	}()

	cfg, fs := newTestCfg()
	cfg.Set("baseURL", "http://auth/bub")

	writeSourcesToSource(t, "content", fs, groupedSources...)
	s := buildSingleSite(t, deps.DepsCfg{Fs: fs, Cfg: cfg}, BuildCfg{})

	rbysection, err := s.RegularPages().GroupBy("Section", "desc")
	if err != nil {
		t.Fatalf("Unable to make PageGroup array: %s", err)
	}

	if rbysection[0].Key != "sect3" {
		t.Errorf("PageGroup array in unexpected order. First group key should be '%s', got '%s'", "sect3", rbysection[0].Key)
	}
	if rbysection[1].Key != "sect2" {
		t.Errorf("PageGroup array in unexpected order. Second group key should be '%s', got '%s'", "sect2", rbysection[1].Key)
	}
	if rbysection[2].Key != "sect1" {
		t.Errorf("PageGroup array in unexpected order. Third group key should be '%s', got '%s'", "sect1", rbysection[2].Key)
	}
	if rbysection[0].Pages[0].Title() != "Four" {
		t.Errorf("PageGroup has an unexpected page. First group's pages should have '%s', got '%s'", "Four", rbysection[0].Pages[0].Title())
	}
	if len(rbysection[2].Pages) != 2 {
		t.Errorf("PageGroup has unexpected number of pages. Third group should have '%d' pages, got '%d' pages", 2, len(rbysection[2].Pages))
	}

	bytype, err := s.RegularPages().GroupBy("Type", "asc")
	if err != nil {
		t.Fatalf("Unable to make PageGroup array: %s", err)
	}
	if bytype[0].Key != "sect1" {
		t.Errorf("PageGroup array in unexpected order. First group key should be '%s', got '%s'", "sect1", bytype[0].Key)
	}
	if bytype[1].Key != "sect2" {
		t.Errorf("PageGroup array in unexpected order. Second group key should be '%s', got '%s'", "sect2", bytype[1].Key)
	}
	if bytype[2].Key != "sect3" {
		t.Errorf("PageGroup array in unexpected order. Third group key should be '%s', got '%s'", "sect3", bytype[2].Key)
	}
	if bytype[2].Pages[0].Title() != "Four" {
		t.Errorf("PageGroup has an unexpected page. Third group's data should have '%s', got '%s'", "Four", bytype[0].Pages[0].Title())
	}
	if len(bytype[0].Pages) != 2 {
		t.Errorf("PageGroup has unexpected number of pages. First group should have '%d' pages, got '%d' pages", 2, len(bytype[2].Pages))
	}

	bydate, err := s.RegularPages().GroupByDate("2006-01", "asc")
	if err != nil {
		t.Fatalf("Unable to make PageGroup array: %s", err)
	}
	if bydate[0].Key != "0001-01" {
		t.Errorf("PageGroup array in unexpected order. First group key should be '%s', got '%s'", "0001-01", bydate[0].Key)
	}
	if bydate[1].Key != "2012-01" {
		t.Errorf("PageGroup array in unexpected order. Second group key should be '%s', got '%s'", "2012-01", bydate[1].Key)
	}

	bypubdate, err := s.RegularPages().GroupByPublishDate("2006")
	if err != nil {
		t.Fatalf("Unable to make PageGroup array: %s", err)
	}
	if bypubdate[0].Key != "2012" {
		t.Errorf("PageGroup array in unexpected order. First group key should be '%s', got '%s'", "2012", bypubdate[0].Key)
	}
	if bypubdate[1].Key != "0001" {
		t.Errorf("PageGroup array in unexpected order. Second group key should be '%s', got '%s'", "0001", bypubdate[1].Key)
	}
	if bypubdate[0].Pages[0].Title() != "Three" {
		t.Errorf("PageGroup has an unexpected page. Third group's pages should have '%s', got '%s'", "Three", bypubdate[0].Pages[0].Title())
	}
	if len(bypubdate[0].Pages) != 3 {
		t.Errorf("PageGroup has unexpected number of pages. First group should have '%d' pages, got '%d' pages", 3, len(bypubdate[0].Pages))
	}

	byparam, err := s.RegularPages().GroupByParam("my_param", "desc")
	if err != nil {
		t.Fatalf("Unable to make PageGroup array: %s", err)
	}
	if byparam[0].Key != "foo" {
		t.Errorf("PageGroup array in unexpected order. First group key should be '%s', got '%s'", "foo", byparam[0].Key)
	}
	if byparam[1].Key != "baz" {
		t.Errorf("PageGroup array in unexpected order. Second group key should be '%s', got '%s'", "baz", byparam[1].Key)
	}
	if byparam[2].Key != "bar" {
		t.Errorf("PageGroup array in unexpected order. Third group key should be '%s', got '%s'", "bar", byparam[2].Key)
	}
	if byparam[2].Pages[0].Title() != "Three" {
		t.Errorf("PageGroup has an unexpected page. Third group's pages should have '%s', got '%s'", "Three", byparam[2].Pages[0].Title())
	}
	if len(byparam[0].Pages) != 2 {
		t.Errorf("PageGroup has unexpected number of pages. First group should have '%d' pages, got '%d' pages", 2, len(byparam[0].Pages))
	}

	_, err = s.RegularPages().GroupByParam("not_exist")
	if err == nil {
		t.Errorf("GroupByParam didn't return an expected error")
	}

	byOnlyOneParam, err := s.RegularPages().GroupByParam("only_one")
	if err != nil {
		t.Fatalf("Unable to make PageGroup array: %s", err)
	}
	if len(byOnlyOneParam) != 1 {
		t.Errorf("PageGroup array has unexpected elements. Group length should be '%d', got '%d'", 1, len(byOnlyOneParam))
	}
	if byOnlyOneParam[0].Key != "yes" {
		t.Errorf("PageGroup array in unexpected order. First group key should be '%s', got '%s'", "yes", byOnlyOneParam[0].Key)
	}

	byParamDate, err := s.RegularPages().GroupByParamDate("my_date", "2006-01")
	if err != nil {
		t.Fatalf("Unable to make PageGroup array: %s", err)
	}
	if byParamDate[0].Key != "2010-05" {
		t.Errorf("PageGroup array in unexpected order. First group key should be '%s', got '%s'", "2010-05", byParamDate[0].Key)
	}
	if byParamDate[1].Key != "1979-05" {
		t.Errorf("PageGroup array in unexpected order. Second group key should be '%s', got '%s'", "1979-05", byParamDate[1].Key)
	}
	if byParamDate[1].Pages[0].Title() != "One" {
		t.Errorf("PageGroup has an unexpected page. Second group's pages should have '%s', got '%s'", "One", byParamDate[1].Pages[0].Title())
	}
	if len(byParamDate[0].Pages) != 2 {
		t.Errorf("PageGroup has unexpected number of pages. First group should have '%d' pages, got '%d' pages", 2, len(byParamDate[2].Pages))
	}
}

var pageWithWeightedTaxonomies1 = `+++
tags = [ "a", "b", "c" ]
tags_weight = 22
categories = ["d"]
title = "foo"
categories_weight = 44
+++
Front Matter with weighted tags and categories`

var pageWithWeightedTaxonomies2 = `+++
tags = "a"
tags_weight = 33
title = "bar"
categories = [ "d", "e" ]
categories_weight = 11.0
alias = "spf13"
date = 1979-05-27T07:32:00Z
+++
Front Matter with weighted tags and categories`

var pageWithWeightedTaxonomies3 = `+++
title = "bza"
categories = [ "e" ]
categories_weight = 11
alias = "spf13"
date = 2010-05-27T07:32:00Z
+++
Front Matter with weighted tags and categories`

func TestWeightedTaxonomies(t *testing.T) {
	t.Parallel()
	sources := [][2]string{
		{filepath.FromSlash("sect/doc1.md"), pageWithWeightedTaxonomies2},
		{filepath.FromSlash("sect/doc2.md"), pageWithWeightedTaxonomies1},
		{filepath.FromSlash("sect/doc3.md"), pageWithWeightedTaxonomies3},
	}
	taxonomies := make(map[string]string)

	taxonomies["tag"] = "tags"
	taxonomies["category"] = "categories"

	cfg, fs := newTestCfg()

	cfg.Set("baseURL", "http://auth/bub")
	cfg.Set("taxonomies", taxonomies)

	writeSourcesToSource(t, "content", fs, sources...)
	s := buildSingleSite(t, deps.DepsCfg{Fs: fs, Cfg: cfg}, BuildCfg{})

	if s.Taxonomies()["tags"]["a"][0].Page.Title() != "foo" {
		t.Errorf("Pages in unexpected order, 'foo' expected first, got '%v'", s.Taxonomies()["tags"]["a"][0].Page.Title())
	}

	if s.Taxonomies()["categories"]["d"][0].Page.Title() != "bar" {
		t.Errorf("Pages in unexpected order, 'bar' expected first, got '%v'", s.Taxonomies()["categories"]["d"][0].Page.Title())
	}

	if s.Taxonomies()["categories"]["e"][0].Page.Title() != "bza" {
		t.Errorf("Pages in unexpected order, 'bza' expected first, got '%v'", s.Taxonomies()["categories"]["e"][0].Page.Title())
	}
}

func setupLinkingMockSite(t *testing.T) *Site {
	sources := [][2]string{
		{filepath.FromSlash("level2/unique.md"), ""},
		{filepath.FromSlash("_index.md"), ""},
		{filepath.FromSlash("common.md"), ""},
		{filepath.FromSlash("rootfile.md"), ""},
		{filepath.FromSlash("root-image.png"), ""},

		{filepath.FromSlash("level2/2-root.md"), ""},
		{filepath.FromSlash("level2/common.md"), ""},

		{filepath.FromSlash("level2/2-image.png"), ""},
		{filepath.FromSlash("level2/common.png"), ""},

		{filepath.FromSlash("level2/level3/start.md"), ""},
		{filepath.FromSlash("level2/level3/_index.md"), ""},
		{filepath.FromSlash("level2/level3/3-root.md"), ""},
		{filepath.FromSlash("level2/level3/common.md"), ""},
		{filepath.FromSlash("level2/level3/3-image.png"), ""},
		{filepath.FromSlash("level2/level3/common.png"), ""},

		{filepath.FromSlash("level2/level3/embedded.dot.md"), ""},

		{filepath.FromSlash("leafbundle/index.md"), ""},
	}

	cfg, fs := newTestCfg()

	cfg.Set("baseURL", "http://auth/")
	cfg.Set("uglyURLs", false)
	cfg.Set("outputs", map[string]any{
		"page": []string{"HTML", "AMP"},
	})
	cfg.Set("pluralizeListTitles", false)
	cfg.Set("canonifyURLs", false)
	writeSourcesToSource(t, "content", fs, sources...)
	return buildSingleSite(t, deps.DepsCfg{Fs: fs, Cfg: cfg}, BuildCfg{})
}

func TestRefLinking(t *testing.T) {
	t.Parallel()
	site := setupLinkingMockSite(t)

	currentPage := site.getPage(page.KindPage, "level2/level3/start.md")
	if currentPage == nil {
		t.Fatalf("failed to find current page in site")
	}

	for i, test := range []struct {
		link         string
		outputFormat string
		relative     bool
		expected     string
	}{
		// different refs resolving to the same unique filename:
		{"/level2/unique.md", "", true, "/level2/unique/"},
		{"../unique.md", "", true, "/level2/unique/"},
		{"unique.md", "", true, "/level2/unique/"},

		{"level2/common.md", "", true, "/level2/common/"},
		{"3-root.md", "", true, "/level2/level3/3-root/"},
		{"../..", "", true, "/"},

		// different refs resolving to the same ambiguous top-level filename:
		{"../../common.md", "", true, "/common/"},
		{"/common.md", "", true, "/common/"},

		// different refs resolving to the same ambiguous level-2 filename:
		{"/level2/common.md", "", true, "/level2/common/"},
		{"../common.md", "", true, "/level2/common/"},
		{"common.md", "", true, "/level2/level3/common/"},

		// different refs resolving to the same section:
		{"/level2", "", true, "/level2/"},
		{"..", "", true, "/level2/"},
		{"../", "", true, "/level2/"},

		// different refs resolving to the same subsection:
		{"/level2/level3", "", true, "/level2/level3/"},
		{"/level2/level3/_index.md", "", true, "/level2/level3/"},
		{".", "", true, "/level2/level3/"},
		{"./", "", true, "/level2/level3/"},

		// try to confuse parsing
		{"embedded.dot.md", "", true, "/level2/level3/embedded.dot/"},

		// test empty link, as well as fragment only link
		{"", "", true, ""},
	} {
		t.Run(fmt.Sprintf("t%dt", i), func(t *testing.T) {
			checkLinkCase(site, test.link, currentPage, test.relative, test.outputFormat, test.expected, t, i)

			// make sure fragment links are also handled
			checkLinkCase(site, test.link+"#intro", currentPage, test.relative, test.outputFormat, test.expected+"#intro", t, i)
		})
	}

	// TODO: and then the failure cases.
}

func checkLinkCase(site *Site, link string, currentPage page.Page, relative bool, outputFormat string, expected string, t *testing.T, i int) {
	t.Helper()
	if out, err := site.refLink(link, currentPage, relative, outputFormat); err != nil || out != expected {
		t.Fatalf("[%d] Expected %q from %q to resolve to %q, got %q - error: %s", i, link, currentPage.Pathc(), expected, out, err)
	}
}

// https://github.com/gohugoio/hugo/issues/6952
func TestRefIssues(t *testing.T) {
	b := newTestSitesBuilder(t)
	b.WithContent(
		"post/b1/index.md", "---\ntitle: pb1\n---\nRef: {{< ref \"b2\" >}}",
		"post/b2/index.md", "---\ntitle: pb2\n---\n",
		"post/nested-a/content-a.md", "---\ntitle: ca\n---\n{{< ref \"content-b\" >}}",
		"post/nested-b/content-b.md", "---\ntitle: ca\n---\n",
	)
	b.WithTemplates("index.html", `Home`)
	b.WithTemplates("_default/single.html", `Content: {{ .Content }}`)

	b.Build(BuildCfg{})

	b.AssertFileContent("public/post/b1/index.html", `Content: <p>Ref: http://example.com/post/b2/</p>`)
	b.AssertFileContent("public/post/nested-a/content-a/index.html", `Content: http://example.com/post/nested-b/content-b/`)
}

func TestClassCollector(t *testing.T) {
	for _, minify := range []bool{false, true} {
		t.Run(fmt.Sprintf("minify-%t", minify), func(t *testing.T) {
			statsFilename := "hugo_stats.json"
			defer os.Remove(statsFilename)

			b := newTestSitesBuilder(t)
			b.WithConfigFile("toml", fmt.Sprintf(`

minify = %t

[build]
  writeStats = true

`, minify))

			b.WithTemplates("index.html", `

Foo

Some text.

Foo

FOO

 {{ .Title }}

`)

			b.WithContent("p1.md", "")

			b.Build(BuildCfg{})

			b.AssertFileContent("hugo_stats.json", `
 {
          "htmlElements": {
            "tags": [
              "a",
              "div",
              "span"
            ],
            "classes": [
              "a",
              "b",
              "c",
              "d",
              "e",
              "hover:text-gradient",
              "inline-block",
              "lowercase",
              "pb-1",
              "px-3",
              "rounded",
              "text-base",
              "z"
            ],
            "ids": [
              "el1",
              "el2"
            ]
          }
        }
`)
		})
	}
}

func TestClassCollectorStress(t *testing.T) {
	statsFilename := "hugo_stats.json"
	defer os.Remove(statsFilename)

	b := newTestSitesBuilder(t)
	b.WithConfigFile("toml", `

disableKinds = ["home", "section", "term", "taxonomy" ]

[languages]
[languages.en]
[languages.nb]
[languages.no]
[languages.sv]

[build]
  writeStats = true

`)

	b.WithTemplates("_default/single.html", `

Foo

Some text.

{{ $n := index (shuffle (seq 1 20)) 0 }}

{{ "Foo" | strings.Repeat $n | safeHTML }}

ABC.

{{ $n := index (shuffle (seq 1 5)) 0 }}

{{ "
" | safeHTML }}

`)

	for _, lang := range []string{"en", "nb", "no", "sv"} {
		for i := 100; i <= 999; i++ {
			b.WithContent(fmt.Sprintf("p%d.%s.md", i, lang), fmt.Sprintf("---\ntitle: p%s%d\n---", lang, i))
		}
	}

	b.Build(BuildCfg{})

	contentMem := b.FileContent(statsFilename)
	cb, err := ioutil.ReadFile(statsFilename)
	b.Assert(err, qt.IsNil)
	contentFile := string(cb)

	for _, content := range []string{contentMem, contentFile} {

		stats := &publisher.PublishStats{}
		b.Assert(json.Unmarshal([]byte(content), stats), qt.IsNil)

		els := stats.HTMLElements

		b.Assert(els.Classes, qt.HasLen, 3606) // (4 * 900) + 4 +2
		b.Assert(els.Tags, qt.HasLen, 8)
		b.Assert(els.IDs, qt.HasLen, 1)
	}
}


text:
Skip to main contnet Skip to main navigation
Citizens Electoral Council Political Party
Why S&P is covering up 'bail-in'
By Robert Barwick
The ratings agency Standard and Poor's (S&P) has conspicuously and curiously denied that "bail-in" is in force in Australia. Bail-in is the policy of propping up failing banks with money confiscated from their "unsecured creditors", including depositors; the Citizens Electoral Council has exposed that the Crisis Resolution Powers law snuck through Parliament in February 2018 includes a loophole that could allow the bail-in of deposits. However, S&P on 9 April issued a curious analysis that the Australian government would bail out distressed banks, rather than bail in their creditors. In response, the financial journal Banking Day on 10 April accused the "eccentric" CEC, as well as Digital Finance Analytics (DFA), which has also exposed the bail-in law, of spreading "claptrap".
Since the Coalition government and Labor opposition conspired to enact crisis resolution powers for the bank regulator, the Australian Prudential Regulation Authority (APRA), there has been a concerted campaign to cover up the true nature of the law. The media mostly ignored it and the underhanded way it was passed—with only eight out of 76 senators present, no recorded vote, and while senators intending to amend the bill to explicitly exclude deposits were out of the chamber. The government, opposition, and bank regulator APRA all denied it was a bail-in law that applied to deposits. Meanwhile, the CEC, DFA's Martin North and economist John Adams have continued to expose the law, and recruit public support to the fight to stop it. In October 2018 one Liberal Party politician, Senator Amanda Stoker, broke ranks and admitted it is a bail-in law.
S&P supports the bubble
S&P Global Ratings used tortured logic to justify its assessment that the Australian government would bail out, rather than bail in, failing banks. James Eyers reported in the 9 April Australian Financial Review: "S&P Global Ratings says there's a one-in-three chance it will cut its assessment of government support of the major banks in a financial crisis, a move that would trigger a downgrade to their credit ratings and push up the cost of funding. "But for now, the international ratings agency says it believes both major political parties will 'continue to hold a pragmatic view' that a taxpayer-funded bailout of any major banks would be more likely to maintain financial system and economic stability than forcing losses onto bond holders." Why did S&P hedge its bets on whether there would be taxpayer support of the banks? Because APRA is pushing Australia's banks to increase their total loss-absorbing capacity (TLAC), which is part of the Bank for International Settlements-based Financial Stability Board's requirement for banks to be able to be bailed in. TLAC is the total size of the financial buffer that banks maintain to absorb losses before going bankrupt, and includes equity capital (shares); so-called bail-in bonds a.k.a. hybrid securities that convert to shares; and unsecured, uninsured creditor claims, including deposits. APRA has asked the banks to sell an extra $75 billion in bail-in bonds, which the banks are complaining is difficult as investors are less likely to buy knowing the risks.
This means that S&P knows that Australia has bail-in measures in place; indeed, S&P foreshadowed that "we see some ambiguity in future policy direction on this matter". However, despite all of these caveats, the ratings agency didn't want to come out and say Australia has bail-in, because bail-in is supposed to be a substitute for bailouts. If Australia has bail-in, S&P would have to change its classification of the Australian government from "highly supportive" to just "supportive", which would be saying that the government is less likely to provide financial support to a failing bank.
"The classification is important", James Eyers explained, "because such a reduction in perceived supportiveness would trigger a cut to the credit ratings on all four of the major banks by one notch, to 'A+' from 'AA-'. That would be likely to make it more expensive for banks to borrow from offshore investors who would build in a higher risk premium into bank bonds. That could increase interest rates across the economy, if banks passed those higher funding costs onto customers."
And there you have it—if S&P officially acknowledged bail-in, it would have to downgrade the credit ratings of Australia's banks which would push up interest rates. There's no doubt that S&P, APRA, the Reserve Bank of Australia (RBA) and the banks all know that that would set off carnage in the already-plunging housing market. Already there are frantic calls for the RBA to cut interest rates further to save the bubble and the over-exposed banks, and signs that the RBA is preparing to do that. Right now Australia's financial authorities are doing everything in their power to ensure there are no rate rises.
So the question is, would S&P give a fake credit rating to help support a speculative bubble? Of course it would, which was one of the causes of the 2008 global financial crisis. In a memorable scene in the movie The Big Short, S&P's eye-shade-wearing representative justified giving banks triple-A ratings for worthless mortgage-backed securities: "If we don't give them the ratings they'll go to Moody's, right down the block", she whined.
It is therefore farcical that Ian Rogers of Banking Day would seize on this S&P analysis to attack the CEC and DFA for stating that Australia has bail-in. Rogers, a former AFR editor, wrote: "These facts have so far made no difference to the animated protests that the absolute opposite is the truth, that claim being a passionate belief of the eccentric campaigners from the Citizens Electoral Council—one often endorsed by their publicist at one banking industry blog [DFA]. In short, there is no bail-in power of any type provided for under Australian law...." This is patently false, but to admit otherwise would risk imploding the banking system.
Page last updated on 22 April 2019
Email: cec@cecaust.com.au
Post address: PO Box 376, Coburg, Victoria, 3058
© 2019. Citizens Electoral Council of Australia. All rights reserved.


text:
package com.orgsync.api.model.courses;

/**
 * A request to update or create a {@link Course}.
 *
 * @author steffyj
 *
 */
public class CourseUpdateRequest {

    public static final int NO_ACCOUNT_ID = -1;

    private String name;
    private int accountId = NO_ACCOUNT_ID;
    private String link;
    private String date;
    private String section;

    public final String getName() {
        return name;
    }

    public final CourseUpdateRequest setName(final String name) {
        this.name = name;
        return this;
    }

    public final int getAccountId() {
        return accountId;
    }

    public final CourseUpdateRequest setAccountId(final int accountId) {
        this.accountId = accountId;
        return this;
    }

    public final String getLink() {
        return link;
    }

    public final CourseUpdateRequest setLink(final String link) {
        this.link = link;
        return this;
    }

    public final String getDate() {
        return date;
    }

    public final CourseUpdateRequest setDate(final String date) {
        this.date = date;
        return this;
    }

    public final String getSection() {
        return section;
    }

    public final CourseUpdateRequest setSection(final String section) {
        this.section = section;
        return this;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + accountId;
        result = prime * result + ((date == null) ? 0 : date.hashCode());
        result = prime * result + ((link == null) ? 0 : link.hashCode());
        result = prime * result + ((name == null) ? 0 : name.hashCode());
        result = prime * result + ((section == null) ? 0 : section.hashCode());
        return result;
    }

    @Override
    public boolean equals(final Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        CourseUpdateRequest other = (CourseUpdateRequest) obj;
        if (accountId != other.accountId)
            return false;
        if (date == null) {
            if (other.date != null)
                return false;
        } else if (!date.equals(other.date))
            return false;
        if (link == null) {
            if (other.link != null)
                return false;
        } else if (!link.equals(other.link))
            return false;
        if (name == null) {
            if (other.name != null)
                return false;
        } else if (!name.equals(other.name))
            return false;
        if (section == null) {
            if (other.section != null)
                return false;
        } else if (!section.equals(other.section))
            return false;
        return true;
    }

    @Override
    public String toString() {
        return "CourseUpdateRequest [name=" + name + ", accountId=" + accountId + ", link=" + link + ", date=" + date
                + ", section=" + section + "]";
    }

}


I understand that as you age you want to slowly lower the risk profile of your retirement account, but how should I determine how much risk I should take on currently and how do I measure how much risk I am currently taking on? For example, I would think people that make more money can take on more risk because the minimum acceptable outcome would be a lower percent of their income than someone that makes less money.
Most commonly a single equity vs bond percent by age recommendation used generically for everyone, but wouldn't Large Cap vs Small Cap vs Emerging markets play into things? Along with how much money the person makes?
The "right" amount of risk is subjective. You are correct that a person's income, assets, and liabilities contribute to the capacity to take risk. Some people are also more comfortable taking risk than others.
Time horizon is also important. Some investments cannot be sold quickly, but might have higher expected returns to compensate. Some university endowments invested heavily in illiquid assets based on this belief. It worked well for awhile, but later struggled. See this article for more on this.
You may also want to consider an asset/liability framework. In this view, the present value of future expenses increases when interest rates decline.
You are correct that different types of equities and bonds have different amounts of risk. High yield bonds have a much different risk profile than treasury bonds. There are a number of ways to measure risk. You could look at the portfolio historical standard deviation or maximum draw-down as potential measures.
The "correct" allocation also depends on your comfort with complexity. For example, are you comfortable having a different allocation in your taxable account and retirement account? Are you willing to take the time to understand why the best portfolio might involve different assets in different accounts?
Health is also important. Some people feel like can work into their 80's while others lose the ability to work much younger. If you have the option to work, you have a higher capacity for risk.
As you can see, the inputs for the "right" answer can be both unique to the individual and subjective. The output isn't fully objective either.
Not the answer you're looking for? Browse other questions tagged retirement risk asset-allocation risk-management or ask your own question.
Why does a target 2050 retirement fund hold so much cash?


The following is the full text of the submission made by Timothy Loh LLP to the Securities and Futures Commission in response to the latter's Consultation Paper on Proposals to Enhance Asset Management Regulation and Point-of-Sale Transparency.
may undermine Hong Kong as a centre for the management of funds.
In light of the foregoing, we believe that these proposals should be re-considered.
As proposed in the consultation, the Fund Manager Code of Conduct ("FMCC") will require fund managers, in essence, to require funds to make certain disclosures and to make certain decisions as to the custody of assets and to manage the fund in prescribed ways. As proposed, these requirements would not apply where the fund manager is not responsible for the overall operation of a fund or lacks de facto control of a fund. However, in practice it may be difficult to establish whether a fund manager has de facto control given the fund directors generally have no duty to follow instructions of a fund manager.
The consultation itself recognizes that these new requirements are regulations of the fund rather than the fund manager but insists that they are necessary to comply with IOSCO principles and FSB recommendations, to "reinforce good governance" and to "enhance transparency".
Whilst the consultation cites specific IOSCO principles and FSB recommendations to support the need for specific regulations of funds, it does not cite any specific IOSCO principle or FSB recommendation which suggests that these regulations should be implemented by regulating fund managers.
As we have not had the opportunity to fully canvass IOSCO and FSB literature, in the absence of any specific citation, the extent to which these types of regulations should apply to private funds through the fund manager is unclear. We note however, for example, that IOSCO's Final Report on Standards for the Custody of Collective Investment Schemes' Assets (FR25/2015), which the consultation cites as authority for the proposals in relation to custody, specifically provides that custody arrangements described therein apply only to registered or authorized open-ended collective investment schemes, specifically excluding hedge funds which use prime brokers and schemes which invest in private equity or venture capital.
A fund, if constituted as a company, is a legal entity separate from the fund manager. In the common law world, the fund will have its own governing board which will have legal duties to act in the best interest of shareholders. We do not see how good governance is reinforced by emasculating the governing board, making it no more than a rubber stamp for the dictates of the fund manager. It is undoubtedly the case that fund managers exercise significant influence over the governing boards of funds and, in some cases, all the members of the governing board may be officers and employees of the fund manager. This does not however, mean that these individuals can and should ignore their legal duties to cater to the needs of the fund manager.
The FMCC is no more than guidance as to the standards of fitness and properness which all persons licensed or registered with the SFC must meet.
In this regard, under Schedule 1 of the SFO, the regulated activity for which the license is required is the "service of managing a portfolio of securities or futures contracts…". It is not clear how there is any rational connection between this discrete service and, for example, the proposed requirements for the fund to make certain disclosures or as to how the fund selects a custodian. In the absence of concerns as to honesty, integrity or reputation, it is difficult to see how fitness and properness in providing this discrete service can be impugned merely by reasonable conduct outside the bounds of this service which differs from the conduct prescribed by the SFC.
Even where there is a rational connection, we do not see how the failure to over-ride a governing body of a client fund acting rationally in respect of a matter properly under the jurisdiction of the client can fall below the standard of fitness and properness.
Changes to the FMCC which affect private funds may have a significant and adverse effect on Hong Kong as a centre for the management of private funds.
The deletion of the word "discretionary" in the introductory language of the FMCC suggests that the FMCC now applies to private equity fund managers. Many of the requirements of the new FMCC are completely inapposite to private equity.
The deletion of the language making the FMCC mutually exclusive with the Code of Conduct for Persons Licensed by or Registered with the SFC ("Code of Conduct") suggests that the requirements under the Code of Conduct, such as suitability, would apply to dealings between fund managers and funds. In this regard, not all fund clients will qualify as professional investors eligible for exemption from these requirements. For example, it is not uncommon for a Cayman fund to delegate investment management discretion to a Cayman fund manager which in turn delegates investment management discretion to a Hong Kong fund manager. It is unclear whether the Cayman fund manager (or, indeed the Cayman fund itself) would qualify under the SFO as an "institutional professional investor" under the Code of Conduct. Accordingly, it is possible that the Hong Kong fund manager would need to treat the Cayman manager as a corporate professional investor or, worse, retail client. The wholesale inclusion of requirements of the Code of Conduct into the management relationship of private funds will be unwelcome.
A licensed or registered person who is not independent should be required to disclose the fact that he is a selling agent for a specific fund.
The Code of Conduct should establish fees bands (e.g. high, medium or low) and a licensed or registered person should be required to disclose which band fees receivable by him in aggregate fall before the client is invested into the KYC process.
We would be happy to discuss our submission further should this be useful.


Phoenix, A.Z. –Dirty Bird Concepts introduces the Loot Series Derby Cover (DBC-247) This new addition to our Loot series line will add a new age look to your bike with machine precision cuts. The Derby Cover is available in contrast black and shiny chrome which includes a gasket. This part fits Harleys up to 2016. Proudly made in the USA.
Adding a custom derby is a great way to add a dynamic look to your bike without breaking the bank. 2018 is the year for our Loot series. We will be coming out with more unique parts to add to this line. To shop all Dirty Bird parts, please visit us online at www.dirtybirdconcepts.com.


Are you having trouble focusing and staying motivated? To achieve your dreams, you must start from the core. This means you have to live your dreams and constantly stay inspired to go beyond your limits. Changing your environment can help you achieve this. They say if you want to be successful, you have to surround yourself with successful people. So if you want to stay motivated and inspired, you have to surround yourself with things that inspire you. Let these inspirational quotes motivate you to go beyond your limits. Live inspired.


text:
Home UNFPA Response in Yemen Monthly Situation Report #3 – March 2019
UNFPA Response in Yemen Monthly Situation Report #3 – March 2019
Author: UNFPA Yemen
Nearly four years of conflict has disintegrated the economic and social fabric. The poverty rate is projected to have increased by 33 per cent since 2014, which means that 52 per cent of the population is likely to live in poverty in 2019. The number of reported suspected cases of cholera and acute watery diarrhoea spiked in March 2019; 108,880 suspected cases were reported between 1 January and 17 March.
At least seven civilians were killed and eight injured as a result of an airstrike on a hospital in Kitaf District in Sa'ada Governorate on 26 March and on 23rd March, at one of the main public hospitals in Taizz City, which UNFPA supports to provide emergency obstetric care services.
Fighting continued to displace people in Hajjah Governorate. By the end of March, up to 68,000 families were estimated to be displaced within or from Hajjah. UNFPA, as lead of the Rapid Response Mechanism (RRM) was quick to seek access to transfer more than 10,000 RRM kits to Hajjah. By 30th March some 6,500 families received rapid response kits. In addition 1,500 kits were distributed among displaced persons from Hajjah across temporary shelters in Sana'a and Amran Governorates.
Humanitarian Action 2017 Overview Today more than 75 per cent of people affected by humanitarian crises are women and children. And adolescents aged 10-19 years constitute a significant proportion of the population in many conflict and post-conflict...
Hondurans lose critical health services after Hurricane Eta tears through Central America
Women and girls in Honduras are at high risk in the aftermath of Hurricane Eta.
KSRelief pledges $1.6 million to improve women and girls' protection services in Yemen
KSRelief, Saudi Arabia's King Salman Humanitarian Aid & Relief Centre, has contributed $1.6 million to support UNFPA's emergency services to prevent and respond to gender-based violence. This support will help to reach nearly 30,000 of the most vulnerable women and girls...
COVID-19 Situation Report No. 4 for UNFPA Mongolia
As of October 31, 2020, the country has 346 cases of COVID- 19 with 313 treated and recovered, and with 33 patients in the National Center for Communicable Diseases. There are 3,212 people in mandatory quarantine, total number of tests that have been carried out since the...
view resource >


text:
Super Bowl I, toen bekend als de eerste AFL-NFL World Championship Game, was de eerste editie van de Super Bowl, de finale tussen de kampioenen van het american football. Na het fusie-akkoord van 1966 tussen de American Football League en de National Football League werd besloten om jaarlijks een kampioenschapswedstrijd te houden. De fusie werd in 1970 gefinaliseerd maar de eerste Super Bowl werd reeds op 15 januari 1967 gehouden in het Los Angeles Memorial Coliseum in Los Angeles. De Green Bay Packers wonnen de wedstrijd met 35–10 tegen de Kansas City Chiefs en werden zo de eerste winnaars van de Super Bowl.

NFL & AFL Championships en Super Bowl

01
Sport in 1967
Sportevenement in Los Angeles

redpajama_set_name: RedPajamaWikipedia


I'm just going to come right out and say it…my wife and I pay our kids to read.
Now that the shock, gasps, and horror are out of the way, let me explain. My wife and I, created a list of paradigm-shifting non-fiction books such as Grit, Atomic Habits, How To Win Friends and Influence People, Boundaries, and The Total Money Makeover.
Then, when our kids were around 7-years-old, they could select a book from the list, read it, and write up a one-page book report (here's our template) for 10 dollars apiece. To make sure our kids were getting the most out of the experience, we structured the book reports as well, asking them to answer a short series of questions to help them dig deep into the themes, and implement the lessons learned by the characters into their every-day lives.
Now, I know there are few child psychologists out there who might disagree with this approach. The argument is that reward-based learning activities are just that, and when the rewards dry up, so does the interest in the activity. Children should perform all learning activities for the pure enjoyment of them – even if they're much less "cool" and socially engaging than, say, playing with their friends – thus fostering a life-long love of learning that will stretch into adulthood. Well, – excuse the child-like expression, but – duh!
Of course it would be wonderful if all children intrinsically wanted to read complex, thoughtful, non-fiction literature that would enhance their reading skills while broadening their horizons. Heck, if that were the case, we wouldn't have to bother sending them to school, or even parenting for that matter. The fact of the matter is, however, that not all kids are naturally drawn to reading or self-improvement. BUT, all kids are drawn to money. It's valuable to them. I want my kids to see self-improvement as valuable. Thus the incentive.
Positive, incentive-based reinforcement has been scientifically proven to encourage children to engage in learning activities, and there's a very important reason to use such tactics to make sure kids are reading and reading early.
Numerous doctors and scientists, including Fumiko Hoeft, cognitive neuroscientist and psychiatrist at the University of California, San Francisco, discovered that the formation of certain neural pathways in early childhood are critical to success in reading. Because reading is a relatively new skill in the grand scope of human evolution, auditory, speech and visual processes must be properly integrated early on, and that takes practice. So, while it is certainly important to instill our children with a long-term love of reading, using a short-term reward to engage them in the activity, can help ensure they properly develop this very important skill.
So, yeah, we pay our kids to read. And so far it's been positive. Feel free to take this idea or leave it. Modify it, make it your own…but I'd encourage you to get creative in incentivizing the behaviors your want your kids to exhibit.


Sharing the social media love.
Web Wizards is proud to partner with Fandom Marketing to offer social media marketing services for our clients.
We�re Fandom, we help brands share the love.
Twitter? Facebook? Foursquare? It�s easy to get overwhelmed when you�re talking about social media, but remember: it all comes down to meaningful relationships with customers. Taking a consultative approach, we�ll help you reach audiences through social networks. We�ll work together and arm you with the thinking and tools you need to be strategic and measurable.


Chapter 11 debtors often ask the bankruptcy court to approve a bonus plan for "insiders" like corporate officers and top management. These proposed bonus plans frequently meet opposition, particularly in cases where the debtor also seeks to cut the pay and benefits of its unionized workforce. Whether a bonus plan for "insiders" passes muster generally depends on its purpose. Section 503(c)(1) of the Bankruptcy Code all but outlaws insider plans aimed at keeping the top corporate executives on the job. On the other hand, courts have interpreted Section 503(c)(1) to permit bonus plans aimed at inducing the insiders to achieve financial targets or other corporate goals. In the decade since Section 503(c)(1)'s enactment, the courts have struggled to divine the true nature – retentive versus incentive – of proposed insider bonus plans. The recent decision of the New Hampshire federal district court in GT Advanced Technologies, Inc., Case No. 15-cv-069 (D.N.H. July 21, 2015), reversing a bankruptcy court's rejection of an insider plan, is one of the latest additions to this developing case law.
In GT Advanced, a technology company filed for Chapter 11 protection and proceeded to lay off seventy percent of its workforce. It then moved for approval of a bonus plan, of up to approximately $3.3 million, for nine senior management employees. Payment of the bonuses depended under the plan on the executives' performance toward achieving certain goals, such as maximizing the value received for certain assets or minimizing the cost of "deinstalling" certain equipment. Objections to the proposed insider plan were filed by a shareholder and by the U.S. Trustee (the U.S. Justice Department official assigned to monitor bankruptcy cases).
The bankruptcy court denied the debtor's insider bonus plan motion, finding the proposed plan to be nothing other than a "disguised retention agreement." Bankruptcy judge Henry Boroff explained that during the hearing on the motion, whenever he inquired about the plan, the debtor's witnesses testified only about how damaging it would be to the company if the top management team quit. The bankruptcy judge also concluded that the executives would not work any less diligently without the promise of the bonuses.
On appeal, the district court ruled that the bankruptcy court had erred, and remanded to the bankruptcy court for further consideration. District judge Landya McCafferty held that the "key question" in determining whether an insider bonus plan is retentive or incentive is whether it incorporates performance targets that are difficult to achieve. Quoting prior case law, she wrote that "[a] plan that does not require affirmative action beyond that contemplated prepetition is not incentive, but is retentive and cannot be approved under the more lenient standards for incentive plans." The judge noted that while cases evaluating proposed insider bonus plans typically contain detailed analyses of the plan, here the bankruptcy court's ruling relied exclusively on statements from debtor witnesses about the importance of the executive team to the debtor's reorganization. The district judge instructed the bankruptcy court on remand to determine whether the debtor's proposed plan had "sufficiently stringent metrics" to qualify as an incentive plan.
On a separate issue, the district court in GT Advanced ruled that the bankruptcy court also failed to apply the proper analysis in evaluating the debtor's second proposed bonus plan, this one for a group of non-insider employees. Judge McCafferty explained that such a plan required application of the "facts and circumstances" test of Section 503(c)(3) of the Bankruptcy Code, not Section 363(b)(1)'s "business judgment" test. Moreover, although some courts have found the two tests to be equivalent, Judge McCafferty endorsed the better view, expressed by some courts, that the "facts and circumstances" test requires more scrutiny of the proposed plan than would the deferential "business judgment" test.
Cases like GT Advanced show that in opposing insider bonus plans, unions or employee benefit funds should focus their attack on the performance metrics in the plan. They should focus on holding the debtor to its burden of demonstrating that the targets require the executives to "stretch" in performing their duties.


Thank you for visiting Portland Garage Door Service Repair.
Need a quick fix on the garage door? Are you scouring for a company that works 24/7? If you're reading this, then you've come to the right place. Portland Garage Door Service Repair provides a full-suite of garage door services to both residential and commercial clients in Portland, OR area. With nominal costs, quality service and timely resolution, we are the perfect garage door partners for your needs. Talk to us!


Create fun patterns with painters tape to make any room more dynamic. Be sure to wait for the paint to dry completely before carefully peeling off the tape.
oil for winter; stick with a 10W-40 all year and just read on for our recommendations on how often to change your oil.
Pocket-lint What Philips Hue smart bulbs are there and which should you buy?
Such a cute idea for hiding cables & cords in a kid's room or playroom.
Maiko Nagao: DIY Washi tape wall decal (or use electrical tape?
The Windows 10 Anniversary Update doesn't add a few new features and change a few things — it continues Microsoft's quest to bring devices closer together.
April 20, 2018: Host the Most invites new animals and a new theme - Elegant!