text:
ge-tube.

[Illustration: FIG. 77.--Tuberculous Cervical Gland with abscess
formation in subcutaneous cellular tissue, in a boy aet. 10.]

#Tuberculous Disease of Glands.#--This is a disease of great frequency
and importance. The tubercle bacilli usually gain access to the gland
through the afferent lymph vessels, which convey them from some lesion
of the surface within the area drained by them. Tuberculous infection
may supervene in glands that are already enlarged as a result of chronic
septic irritation. While any of the glands in the body may be affected,
the disease is most often met with in the cervical groups which derive
their lymph from the mouth, nose, throat, and ear.

_The appearance of the glands on section_ varies with the stage of the
disease. In the early stages the gland is enlarged, it may be to many
times its natural size, is normal in appearance and consistence, and as
there is no peri-adenitis it is easily shelled out from its
surroundings. On microscopical examination, however, there is evidence
of infection in the shape of bacilli and of characteristic giant and
epithelioid cells. At a later stage, the gland tissue is studded with
minute yellow foci which tend to enlarge and in time to become
confluent, so that the whole gland is ultimately converted into a
caseous mass. This caseous material is surrounded by the thickened
capsule which, as a result of peri-adenitis, tends to become adherent to
and fused with surrounding structures, and particularly with layers of
fascia and with the walls of veins. The caseated tissue often remains
unchanged for long periods; it may become calcified, but more frequently
it breaks down and liquefies.

#Tuberculous disease in the cervical glands# is a common accompaniment
or sequel of adenoids, enlarged tonsils, carious teeth, pharyngitis,
middle-ear disease, and conjunctivitis. These lesions afford the bacilli
a chance of entry into the lymph vessels, in which they are carried to
the glands, where they give rise to disease.

The enlargement may affect only one gland, usually below the angle of
the mandible, and remain confined to it, the gland reaching the size of
a hazel-nut, and being ovoid, firm, and painless. More commonly the
disease affects several glands, on one or on both sides of the neck.
When the disease commences in the pre-auricular or submaxillary glands,
it tends to spread to those along the carotid sheath: when the posterior
auricular and occipital glands are first involved, the spread is to
those along the posterior border of the sterno-mastoid. In many cases
all the chains in front of, beneath, and behind this muscle are
involved, the enlarged glands extending from the mastoid to the
clavicle. They are at first discrete and movable, and may even vary in
size from time to time; but with the addition of peri-adenitis they
become fixed and matted together, forming lobulated or nodular masses
(Fig. 78). They become adherent not only to one another, but also to the
structures in their vicinity,--and notably to the internal jugular
vein,--a point of importance in regard to their removal by operation.

At any stage the disease may be arrested and the glands remain for long
periods without further change. It is possible that the tuberculous
tissue may undergo cicatrisation. More commonly suppuration ensues, and
a cold abscess forms, but if there is a mixed infection, the pyogenic
factor being usually derived from the throat, it may take on active
features.

[Illustration: FIG. 78.--Mass of Tuberculous Glands removed from Axilla
(cf. Fig. 79).]

The transition from the solid to the liquefied stage is attended with
pain and tenderness in the gland, which at the same time becomes fixed
and globular, and finally fluctuation can be elicited.

If left to itself, the softened tubercle erupts through the capsule of
the gland and infects the cellular tissue. The cervical fascia is
perforated and a cold abscess, often much larger than the gland from
which it took origin, forms between the fascia and the overlying skin.
The further stages--reddening, undermining of skin and external rupture,
with the formation of ulcers and sinuses--have been described with
tuberculous abscess. The ulcers and sinuses persist indefinitely, or
they heal and then break out again; sometimes the skin becomes infected,
and a condition like lupus spreads over a considerable area. Spontaneous
healing finally takes place after the caseous tubercle has been
extruded; the resulting scars are extremely unsightly, being puckered or
bridled, or hypertrophied like keloid.

While the disease is most common in childhood and youth, it may be met
with even in advanced life; and although often associated with impaired
health and unhealthy surroundings, it may affect those who are
apparently robust and are in affluent circumstances.

_Diagnosis._--The chief importance lies in differentiating tuberculous
disease from lympho-sarcoma and from lymphadenoma, and this is usually
possible from the history and from the nature of the enlargement. Signs
of liquefaction and suppuration support the diagnosis of tubercle. If
any doubt remains, one of the glands should be removed and submitted to
microscopical examination. Other forms of sarcoma, and the enlargement
of an accessory thyreoid, are less likely to be confused with
tuberculous glands. Calcified tuberculous glands give definite shadows
with the X-rays.

Enlargement of the cervical glands from secondary cancer may simulate
tuberculosis, but is differentiated by its association with cancer in
the mouth or throat, and by the characteristic, stone-like induration of
epithelioma.

The cold abscess which results from tuberculous glands is to be
distinguished from that due to disease in the cervical spine,
retro-pharyngeal abscess, as well as from congenital and other cystic
swellings in the neck.

_Prognosis._--Next to lupus, glandular disease is of all tuberculous
lesions the least dangerous to life; but while it is the rule to recover
from tuberculous disease of glands with or without an operation, it is
unfortunately quite common for such persons to become the subjects of
tuberculosis in other parts of the body at any subsequent period of
life.

_Treatment._--There is considerable difference of opinion regarding the
treatment of glandular tuberculosis. Some authorities, impressed with
the undoubted possibility of natural cure, are satisfied with promoting
this by measures directed towards improving the general health, by the
prolonged administration of tuberculin, and by repeated exposures to the
X-rays and to sunlight. Others again, influenced by the risk of
extension of the disease and by the destruction of tissue and
disfigurement caused by breaking down of the tuberculous tissue and
mixed infection, advocate the removal of the glands by operation.

The conditions vary widely in different cases, and the treatment should
be adapted to the individual requirements. If the disease remains
confined to the glands originally infected and there are no signs of
breaking down, "expectant measures" may be persevered with.

[Illustration: FIG. 79.--Tuberculous Axillary Glands (cf. Fig. 78).]

If, on the other hand, the disease exhibits aggressive tendencies, the
question of operation should be considered. The undesirable results of
the breaking down and liquefaction of the diseased gland may be avoided
by the timely withdrawal of the fluid contents through a hollow needle.

_The excision of tuberculous glands_ is often a difficult operation,
because of the number and deep situation of the glands to be removed,
and of the adhesions to surrounding structures. The skin incision must
be sufficiently extensive to give access to the whole of the affected
area, and to avoid disfigurement should, whenever possible, be made in
the line of the natural creases of the skin. In exposing the glands the
common facial and other venous trunks may require to be clamped and
tied. Care must be taken not to injure the important nerves,
particularly the accessory, the vagus, and the phrenic. The
inframaxillary branches of the facial, the hypoglossal and its
descending branches, and the motor branches of the deep cervical plexus,
are also liable to be injured. The dissection is rendered easier and is
attended with less risk of injury to the nerves, if the patient is
placed in the sitting posture so as to empty the veins, and, instead of
a knife, the conical scissors of Mayo are employed. When the glands are
extensively affected on both sides of the neck, it is advisable to allow
an interval to elapse rather than to operate on both sides at one
sitting. (_Op. Surg._, p. 189.)

If the tonsils are enlarged they should not be removed at the same time,
as, by so doing, there is a risk of pyogenic infection from the throat
being carried to the wound in the neck, but they should be removed,
after an interval, to prevent relapse of disease in the glands.

_When the skin is broken_ and caseous tuberculous tissue is exposed,
healing is promoted by cutting away diseased skin, removing the
granulation tissue with the spoon, scraping sinuses, and packing the
cavity with iodoform worsted and treating it by the open method and
secondary suture if necessary. Exposure to the sunshine on the seashore
and to the X-rays is often beneficial in these cases.

#Tuberculous disease in the axillary glands# may be a result of
extension from those in the neck, from the mamma, ribs, or sternum, or
more rarely from the upper extremity. We have seen it from an infected
wound of a finger. In some cases no source of infection is discoverable.
The individual glands attain a considerable size, and they fuse together
to form a large tumour which fills up the axillary space. The disease
progresses more rapidly than it does in the cervical glands, and almost
always goes on to suppuration with the formation of sinuses.
Conservative measures need not be considered, as the only satisfactory
treatment is excision, and that without delay.

#Tuberculous disease in the glands of the groin# is comparatively rare.
We have chiefly observed it in the femoral glands as a result of
inoculation tubercle on the toes or sole of the foot. The affected
glands nearly always break down and suppurate, and after destroying the
overlying skin give rise to fungating ulcers. The treatment consists in
excising the glands and the affected skin. The dissection may be
attended with troublesome haemorrhage from the numerous veins that
converge towards the femoral trunk.

Tuberculous disease in the _mesenteric_ and _bronchial glands_ is
described with the surgery of regions.

#Syphilitic Disease of Glands.#--Enlargement of lymph glands is a
prominent feature of acquired syphilis, especially in the form of the
indolent or bullet-bubo which accompanies the primary lesion, and the
general enlargement of glands that occurs in secondary syphilis.
Gummatous disease in glands is extremely rare; the affected gland
rapidly enlarges to the size of a walnut, and may then persist for a
long period without further change; if it breaks down, the overlying
skin is destroyed and the caseated tissue of the gumma exposed.

#Lymphadenoma.#--_Hodgkin's Disease_ (Pseudo-leukaemia of German
authors).--This is a rare disease, the origin of which is as yet
unknown, but analogy would suggest that it is due to infection with a
slowly growing micro-organism. It is chiefly met with in young subjects,
and is characterised by a painless enlargement of a particular group of
glands, most commonly those in the cervical region (Fig. 80).

[Illustration: FIG. 80.--Chronic Hodgkin's Disease in a boy aet. 11.]

The glands are usually larger than in tuberculosis, and they remain
longer discrete and movable; they are firm in consistence, and on
section present a granular appearance due to overgrowth of the
connective-tissue framework. In time the glandular masses may form
enormous projecting tumours, the swelling being added to by lymphatic
oedema of the overlying cellular tissue and skin.

The enlargement spreads along the chain of glands to those above the
clavicle, to those in the axilla, and to those of the opposite side
(Fig. 81). Later, the glands in the groin become enlarged, and it is
probable that the infection has spread from the neck along the
mediastinal, bronchial, retro-peritoneal, and mesenteric glands, and has
branched off to the iliac and inguinal groups.

Two clinical types are recognised, one in which the disease progresses
slowly and remains confined to the cervical glands for two or more
years; the other, in which the disease is more rapidly disseminated and
causes death in from twelve to eighteen months.

[Illustration: FIG. 81.--Lymphadenoma (Hodgkin's Disease) affecting left
side of neck and left axilla, in a woman aet. 44. Three years' duration.]

In the acute form, the health suffers, there is fever, and the glands
may vary in size with variations in the temperature; the blood presents
the characters met with in secondary anaemia. The spleen, liver, testes,
and mammae may be enlarged; the glandular swellings press on important
structures, such as the trachea, oesophagus, or great veins, and symptoms
referable to such pressure manifest themselves.

_Diagnosis._--Considerable difficulty attends the diagnosis of
lymphadenoma at an early stage. The negative results of tuberculin tests
may assist in the differentiation from tuberculous disease, but the more
certain means of excising one of the suspected glands and submitting it
to microscopical examination should be had recourse to. The sections
show proliferation of endothelial cells, the formation of numerous giant
cells quite unlike those of tuberculosis and a progressive fibrosis.
Lympho-sarcoma can usually be differentiated by the rapid assumption of
the local features of malignant disease, and in a gland removed for
examination, a predominance of small round cells with scanty protoplasm.
The enlargement associated with leucocythaemia is differentiated by the
characteristic changes in the blood.

_Treatment._--In the acute form of lymphadenoma, treatment is of little
avail. Arsenic may be given in full doses either by the mouth or by
subcutaneous injection; the intravenous administration of neo-salvarsan
may be tried. Exposure to the X-rays and to radium has been more
successful than any other form of treatment. Excision of glands,
although sometimes beneficial, seldom arrests the progress of the
disease. The ease and rapidity with which large masses of glands may be
shelled out is in remarkable contrast to what is observed in tuberculous
disease. Surgical interference may give relief when important structures
are being pressed upon--tracheotomy, for example, may be required where
life is threatened by asphyxia.

#Leucocythaemia.#--This is a disease of the blood and of the
blood-forming organs, in which there is a great increase in the number,
and an alteration of the character, of the leucocytes present in the
blood. It may simulate lymphadenoma, because, in certain forms of the
disease, the lymph glands, especially those in the neck, axilla, and
groin, are greatly enlarged.

TUMOURS OF LYMPH GLANDS

#Primary Tumours.#--_Lympho-sarcoma_, which may be regarded as a sarcoma
starting in a lymph gland, appears in the neck, axilla, or groin as a
rapidly growing tumour consisting of one enlarged gland with numerous
satellites. As the tumour increases in size, the sarcomatous tissue
erupts through the capsule of the gland, and infiltrates the surrounding
tissues, whereby it becomes fixed to these and to the skin.

[Illustration: FIG. 82.--Lympho-Sarcoma removed from Groin. It will be
observed that there is one large central parent tumour surrounded by
satellites.]

The prognosis is grave in the extreme, and the only hope is in early
excision, followed by the use of radium and X-rays. We have observed a
case of lympho-sarcoma above the clavicle, in which excision of all that
was removable, followed by the insertion of a tube of radium for ten
days, was followed by a disappearance of the disease over a period which
extended to nearly five years, when death resulted from a tumour in the
mediastinum. In a second case in which the growth was in the groin, the
patient, a young man, remained well for over two years and was then lost
sight of.

#Secondary Tumours.#--Next to tuberculosis, _secondary cancer_ is the
most common disease of lymph glands. In the neck it is met with in
association with epithelioma of the lip, tongue, or fauces. The glands
form tumours of variable size, and are often larger than the primary
growth, the characters of which they reproduce. The glands are at first
movable, but soon become fixed both to each other and to their
surroundings; when fixed to the mandible they form a swelling of
bone-like hardness; in time they soften, liquefy, and burst through the
skin, forming foul, fungating ulcers. A similar condition is met with in
the groin from epithelioma of the penis, scrotum, or vulva. In cancer of
the breast, the infection of the axillary glands is an important
complication.

In _pigmented_ or _melanotic cancers_ of the skin, the glands are early
infected and increase rapidly, so that, when the primary growth is still
of small size--as, for example, on the sole of the foot--the femoral
glands may already constitute large pigmented tumours.

[Illustration: FIG. 83.--Cancerous Glands in Neck secondary to
Epithelioma of Lip.

(Mr. G. L. Chiene's case.)]

The implication of the glands in other forms of cancer will be
considered with regional surgery.

_Secondary sarcoma_ is seldom met with in the lymph glands except when
the primary growth is a lympho-sarcoma and is situated in the tonsil,
thyreoid, or testicle.

CHAPTER XVI

THE NERVES

Anatomy--INJURIES OF NERVES: Changes in nerves after division;
    Repair and its modifications; Clinical features; _Primary and
    secondary suture_--SUBCUTANEOUS INJURIES OF
    NERVES--DISEASES: _Neuritis_; _Tumours_--Surgery of
    the individual nerves: _Brachial neuralgia_; _Sciatica_;
    _Trigeminal neuralgia_.

#Anatomy.#--A nerve-trunk is made up of a variable number of bundles of
nerve fibres surrounded and supported by a framework of connective
tissue. The nerve fibres are chiefly of the medullated type, and they
run without interruption from a nerve cell or _neuron_ in the brain or
spinal medulla to their peripheral terminations in muscle, skin, and
secretory glands.

Each nerve fibre consists of a number of nerve fibrils collected into a
central bundle--the axis cylinder--which is surrounded by an envelope,
the neurolemma or sheath of Schwann. Between the neurolemma and the axis
cylinder is the medullated sheath, composed of a fatty substance known
as myelin. This medullated sheath is interrupted at the nodes of
Ranvier, and in each internode is a nucleus lying between the myelin and
the neurolemma. The axis cylinder is the essential conducting structure
of the nerve, while the neurolemma and the myelin act as insulating
agents. The axis cylinder depends for its nutrition on the central
neuron with which it is connected, and from which it originally
developed, and it degenerates if it is separated from its neuron.

The connective-tissue framework of a nerve-trunk consists of the
_perineurium_, or general sheath, which surrounds all the bundles; the
_epineurium_, surrounding individual groups of bundles; and the
_endoneurium_, a delicate connective tissue separating the individual
nerve fibres. The blood vessels and lymphatics run in these
connective-tissue sheaths.

According to Head and his co-workers, Sherren and Rivers, the afferent
fibres in the peripheral nerves can be divided into three systems:--

1. Those which subserve _deep sensibility_ and conduct the impulses
produced by pressure as well as those which enable the patient to
recognise the position of a joint on passive movement (joint-sensation),
and the kinaesthetic sense, which recognises that active contraction of
the muscle is taking place (active muscle-sensation). The fibres of this
system run with the motor nerves, and pass to muscles, tendons, and
joints. Even division of both the ulnar and the median nerves above the
wrist produces little loss of deep sensibility, unless the tendons are
also cut through. The failure to recognise this form of sensibility has
been largely responsible for the conflicting statements as to the
sensory phenomena following operations for the repair of divided nerves.

2. Those which subserve _protopathic_ sensibility--that is, are capable
of responding to painful cutaneous stimuli and to the extremes of heat
and cold. These also endow the hairs with sensibility to pain. They are
the first to regenerate after division.

3. Those which subserve _epicritic_ sensibility, the most highly
specialised, capable of appreciating light touch, _e.g._ with a wisp of
cotton wool, as a well-localised sensation, and the finer grades of
temperature, called cool and warm (72 o-104 o F.), and of discriminating
as separate the points of a pair of compasses 2 cms. apart. These are
the last to regenerate.

A nerve also exerts a trophic influence on the tissues in which it is
distributed.

The researches of Stoffel on the minute anatomy of the larger nerves,
and the disposition in them of the bundles of nerve fibres supplying
different groups of muscles, have opened up what promises to be a
fruitful field of clinical investigation and therapeutics. He has shown
that in the larger nerve-trunks the nerve bundles for special groups of
muscles are not, as was formerly supposed, arranged irregularly and
fortuitously, but that on the contrary the nerve fibres to a particular
group of muscles have a typical and practically constant position within
the nerve.

In the large nerve-trunks of the limbs he has worked out the exact
position of the bundles for the various groups of muscles, so that in a
cross section of a particular nerve the component bundles can be
labelled as confidently and accurately as can be the cortical areas in
the brain. In the living subject, by using a fine needle-like electrode
and a very weak galvanic current, he has been able to differentiate the
nerve bundles for the various groups of muscles. In several cases of
spastic paralysis he succeeded in picking out in the nerve-trunk of the
affected limb the nerve bundles supplying the spastic muscles, and, by
resecting portions of them, in relieving the spasm. In a case of spastic
contracture of the pronator muscles of the forearm, for example, an
incision is made along the line of the median nerve above the bend of
the elbow. At the lateral side of the median nerve, where it lies in
contact with the biceps muscle, is situated a well-defined and easily
isolated bundle of fibres which supplies the pronator teres, the flexor
carpi radialis, and the palmaris longus muscles. On incising the sheath
of the nerve this bundle can be readily dissected up and its identity
confirmed by stimulating it with a very weak galvanic current. An inch
or more of the bundle is then resected.

INJURIES OF NERVES

Nerves are liable to be cut or torn across, bruised, compressed,
stretched, or torn away from their connections with the spinal medulla.

#Complete Division of a Mixed Nerve.#--Complete division is a common
result of accidental wounds, especially above the wrist, where the
ulnar, median, and radial nerves are frequently cut across, and in
gun-shot injuries.

_Changes in Structure and Function._--The mere interruption of the
continuity of a nerve results in degeneration of its fibres, the myelin
being broken up into droplets and absorbed, while the axis cylinders
swell up, disintegrate, and finally disappear. Both the conducting and
the insulating elements are thus lost. The degeneration in the central
end of the divided nerve is usually limited to the immediate proximity
of the lesion, and does not even involve all the nerve fibres. In the
distal end, it extends throughout the entire peripheral distribution of
the nerve, and appears to be due to the cutting off of the fibres from
their trophic nerve cells in the spinal medulla. Immediate suturing of
the ends does not affect the degeneration of the distal segment. The
peripheral end undergoes complete degeneration in from six weeks to two
months.

The physiological effects of complete division are that the muscles
supplied by the nerve are immediately paralysed, the area to which it
furnishes the sole cutaneous supply becomes insensitive, and the other
structures, including tendons, bones, and joints, lose sensation, and
begin to atrophy from loss of the trophic influence.

#Nerves divided in Amputation.#--In the case of nerves divided in an
amputation, there is an active, although necessarily abortive, attempt
at regeneration, which results in the formation of bulbous swellings at
the cut ends of the nerves. When there has been suppuration, and
especially if the nerves have been cut so as to be exposed in the wound,
these bulbous swellings may attain an abnormal size, and are then known
as "amputation" or "stump neuromas" (Fig. 84).

When the nerves in a stump have not been cut sufficiently short, they
may become involved in the cicatrix, and it may be necessary, on account
of pain, to free them from their adhesions, and to resect enough of the
terminal portions to prevent them again becoming adherent. When this is
difficult, a portion may be resected from each of the nerve-trunks at a
higher level; and if this fails to give relief, a fresh amputation may
be performed. When there is agonising pain dependent upon an ascending
neuritis, it may be necessary to resect the corresponding posterior
nerve roots within the vertebral canal.

[Illustration: FIG. 84.--Stump Neuromas of Sciatic Nerve, excised forty
years after the original amputation by Mr. A. G. Miller.]

#Other Injuries of Nerves.#--_Contusion_ of a nerve-trunk is attended
with extravasation of blood into the connective-tissue sheaths, and is
followed by degeneration of the contused nerve fibres. Function is
usually restored, the conducting paths being re-established by the
formation of new nerve fibres.

When a nerve is _torn across_ or badly _crushed_--as, for example, by a
fractured bone--the changes are similar to those in a divided nerve, and
the ultimate result depends on the amount of separation between the ends
and the possibility of the young axis cylinders bridging the gap.

_Involvement of Nerves in Scar Tissue._--Pressure or traction may be
exerted upon a nerve by contracting scar tissue, or a process of
neuritis or perineuritis may be induced.

When terminal filaments are involved in a scar, it is best to dissect
out the scar, and along with it the ends of the nerves pressed upon.
When a nerve-trunk, such as the sciatic, is involved in cicatricial
tissue, the nerve must be exposed and freed from its surroundings
(_neurolysis_), and then stretched so as to tear any adhesions that may
be present above or below the part exposed. It may be advisable to
displace the liberated nerve from its original position so as to
minimise the risk of its incorporation in the scar of the original wound
or in that resulting from the operation--for example, the radial nerve
may be buried in the substance of the triceps, or it may be surrounded
by a segment of vein or portion of fat-bearing fascia.

_Injuries of nerves resulting from_ #gun-shot wounds# include: (1) those
in which the nerve is directly damaged by the bullet, and (2) those in
which the nerve-trunk is involved secondarily either by scar tissue in
its vicinity or by callus following fracture of an adjacent bone. The
primary injuries include contusion, partial or complete division, and
perforation of the nerve-trunk. One of the most constant symptoms is the
early occurrence of severe neuralgic pain, and this is usually
associated with marked hyperaesthesia.

#Regeneration.#--_Process of Repair when the Ends are in Contact._--_If
the wound is aseptic_, and the ends of the divided nerve are sutured or
remain in contact, they become united, and the conducting paths are
re-established by a regeneration of nerve fibres. There is a difference
of opinion as to the method of regeneration. The Wallerian doctrine is
that the axis cylinders in the central end grow downwards, and enter the
nerve sheaths of the distal portion, and continue growing until they
reach the peripheral terminations in muscle and skin, and in course of
time acquire a myelin sheath; the cells of the neurolemma multiply and
form long chains in both ends of the nerve, and are believed to provide
for the nourishment and support of the actively lengthening axis
cylinders. Another view is that the formation of new axis cylinders is
not confined to the central end, but that it goes on also in the
peripheral segment, in which, however, the new axis cylinders do not
attain maturity until continuity with the central end has been
re-established.

_If the wound becomes infected_ and suppuration occurs, the young nerve
fibres are destroyed and efficient regeneration is prevented; the
formation of scar tissue also may constitute a permanent obstacle to new
nerve fibres bridging the gap.

_When the ends are not in contact_, reunion of the divided nerve fibres
does not take place whether the wound is infected or not. At the
proximal end there forms a bulbous swelling, which becomes adherent to
the scar tissue. It consists of branching axis cylinders running in all
directions, these having failed to reach the distal end because of the
extent of the gap. The peripheral end is completely degenerated, and is
represented by a fibrous cord, the cut end of which is often slightly
swollen or bulbous, and is also incorporated with the scar tissue of
the wound.

#Clinical Features.#--The symptoms resulting from division and non-union
of a nerve-trunk necessarily vary with the functions of the affected
nerve. The following description refers to a mixed sensori-motor trunk,
such as the median or radial (musculo-spiral) nerve.

_Sensory Phenomena._--Superficial touch is tested by means of a wisp of
cotton wool stroked gently across the skin; the capacity of
discriminating two points as separate, by a pair of blunt-pointed
compasses; the sensation of pressure, by means of a pencil or other
blunt object; of pain, by pricking or scratching with a needle; and of
sensibility to heat and cold, by test-tubes containing water at
different temperatures. While these tests are being carried out, the
patient's eyes are screened off.

After division of a nerve containing sensory fibres, there is an area of
absolute cutaneous insensibility to touch (anaesthesia), to pain
(analgesia), and to all degrees of temperature--_loss of protopathic
sensibility_; surrounded by an area in which there is loss of sensation
to light touch, inability to recognise minor differences of temperature
(72 o-104 o F.), and to appreciate as separate impressions the contact of
the two points of a compass--_loss of epicritic sensibility_ (Head and
Sherren) (Figs. 91, 92).

_Motor Phenomena._--There is immediate and complete loss of voluntary
power in the muscles supplied by the divided nerve. The muscles rapidly
waste, and within from three to five days, they cease to react to the
faradic current. When tested with the galvanic current, it is found that
a stronger current must be used to call forth contraction than in a
healthy muscle, and the contraction appears first at the closing of the
circuit when the anode is used as the testing electrode. The loss of
excitability to the interrupted current, and the specific alteration in
the type of contraction with the constant current, is known as the
_reaction of degeneration_. After a few weeks all electric excitability
is lost. The paralysed muscles undergo fatty degeneration, which attains
its maximum three or four months after the division of the nerve.
Further changes may take place, and result in the transformation of the
muscle into fibrous tissue, which by undergoing shortening may cause
deformity known as _paralytic contracture_.

_Vaso-motor Phenomena._--In the majority of cases there is an initial
rise in the temperature of the part (2 o to 3 o F.), with redness and
increased vascularity. This is followed by a fall in the local
temperature, which may amount to 8 o or 10 o F., the parts becoming pale
and cold. Sometimes the hyperaemia resulting from vaso-motor paralysis is
more persistent, and is associated with swelling of the parts from
oedema--the so-called _angio-neurotic oedema_. The vascularity varies with
external influences, and in cold weather the parts present a bluish
appearance.

_Trophic Phenomena._--Owing to the disappearance of the subcutaneous
fat, the skin is smooth and thin, and may be abnormally dry. The hair is
harsh, dry, and easily shed. The nails become brittle and furrowed, or
thick and curved, and the ends of the fingers become club-shaped. Skin
eruptions, especially in the form of blisters, occur, or there may be
actual ulcers of the skin, especially in winter. In aggravated cases the
tips of the fingers disappear from progressive ulceration, and in the
sole of the foot a perforating ulcer may develop. Arthropathies are
occasionally met with, the joints becoming the seat of a painless
effusion or hydrops, which is followed by fibrous thickening of the
capsular and other ligaments, and terminates in stiffness and fibrous
ankylosis. In this way the fingers are seriously crippled and deformed.

#Treatment of Divided Nerves.#--The treatment consists in approximating
the divided ends of the nerve and placing them under the most favourable
conditions for repair, and this should be done at the earliest possible
opportunity. (_Op. Surg._, pp. 45, 46.)

#Primary Suture.#--The reunion of a recently divided nerve is spoken of
as primary suture, and for its success asepsis is essential. As the
suturing of the ends of the nerve is extremely painful, an anaesthetic is
required.

When the wound is healed and while waiting for the restoration of
function, measures are employed to maintain the nutrition of the damaged
nerve and of the parts supplied by it. The limb is exercised, massaged,
and douched, and protected from cold and other injurious influences. The
nutrition of the paralysed muscles is further improved by electricity.
The galvanic current is employed, using at first a mild current of not
more than 5 milliamperes for about ten minutes, the current being made
to flow downwards in the course of the nerve, with the positive
electrode applied to the spine, and the negative over the affected nerve
near its termination. It is an advantage to have a metronome in the
circuit whereby the current is opened and closed automatically at
intervals, so as to cause contraction of the muscles.

_The results_ of primary suture, when it has been performed under
favourable conditions, are usually satisfactory. In a series of cases
investigated by Head and Sherren, the period between the operation and
the first return of sensation averaged 65 days. According to Purves
Stewart protopathic sensation commences to appear in about six weeks and
is completely restored in six months; electric sensation and motor power
reappear together in about six months, and restoration is complete in a
year. When sensation returns, the area of insensibility to pain steadily
diminishes and disappears; sensibility to extremes of temperature
appears soon after; and last of all, after a considerable interval,
there is simultaneous return of appreciation of light touch, moderate
degrees of temperature, and the points of a compass.

A clinical means of estimating how regeneration in a divided nerve is
progressing has been described by Tinel. He found that a tingling
sensation, similar to that experienced in the foot, when it is
recovering from the "sleeping" condition induced by prolonged pressure
on the sciatic nerve from sitting on a hard bench, can be elicited on
percussing over _growing_ axis cylinders. Tapping over the proximal end
of a _newly divided nerve_, _e.g._ the common peroneal behind the head
of the fibula, produces no tingling, but when in about three weeks
axis cylinders begin to grow in the proximal end-bulb, local tingling is
induced by tapping there. The downward growth of the axis cylinders can
be traced by tapping over the distal segment of the nerve, the tingling
sensation being elicited as far down as the young axis cylinders have
reached. When the regeneration of the axis cylinders is complete,
tapping no longer causes tingling. It usually takes about one hundred
days for this stage to be reached.

Tinel's sign is present before voluntary movement, muscular tone, or the
normal electrical reactions reappear.

In cases of complete nerve paralysis that have not been operated upon,
the tingling test is helpful in determining whether or not regeneration
is taking place. Its detection may prevent an unnecessary operation
being performed.

Primary suture should not be attempted so long as the wound shows signs
of infection, as it is almost certain to end in failure. The ends should
be sutured, however, as soon as the wound is aseptic or has healed.

#Secondary Suture.#--The term secondary suture is applied to the
operation of stitching the ends of the divided nerve after the wound has
healed.

_Results of Secondary Suture._--When secondary suture has been performed
under favourable conditions, the prognosis is good, but a longer time is
required for restoration of function than after primary suture. Purves
Stewart says protopathic sensation is sometimes observed much earlier
than in primary suture, because partial regeneration of axis cylinders
in the peripheral segment has already taken place. Sensation is
recovered first, but it seldom returns before three or four months.
There then follows an improvement or disappearance of any trophic
disturbances that may be present. Recovery of motion may be deferred for
long periods--rather because of the changes in the muscles than from
want of conductivity in the nerve--and if the muscles have undergone
complete degeneration, it may never take place at all. While waiting for
recovery, every effort should be made to maintain the nutrition of the
damaged nerve, and of the parts which it supplies.

When suture is found to be impossible, recourse must be had to other
methods, known as nerve bridging and nerve implantation.

#Incomplete Division of a Mixed Nerve.#--The effects of partial division
of a mixed nerve vary according to the destination of the nerve bundles
that have been interrupted. Within their area of distribution the
paralysis is as complete as if the whole trunk had been cut across. The
uninjured nerve-bundles continue to transmit impulses with the result
that there is a _dissociated paralysis_ within the distribution of the
affected nerve, some muscles continuing to act and to respond normally
to electric stimulation, while others behave as if the whole nerve-trunk
had been severed.

In addition to vasomotor and trophic changes, there is often severe pain
of a burning kind (_causalgia_ or _thermalgia_) which comes on about a
fortnight after the injury and causes intense and continuous suffering
which may last for months. Paroxysms of pain may be excited by the
slightest touch or by heat, and the patient usually learns for himself
that the constant application of cold wet cloths allays the pain. The
thermalgic area sweats profusely.

Operative treatment is indicated where there is no sign of improvement
within three months, when recovery is arrested before complete
restoration of function is attained, or when thermalgic pain is
excessive.

#Subcutaneous Injuries of Nerves.#--Several varieties of subcutaneous
injuries of nerves are met with. One of the best known is the
compression paralysis of the nerves of the upper arm which results from
sleeping with the arm resting on the back of a chair or the edge of a
table--the so-called "drunkard's palsy"; and from the pressure of a
crutch in the axilla--"crutch paralysis." In some of these injuries,
notably "drunkard's palsy," the disability appears to be due not to
damage of the nerve, but to overstretching of the extensors of the wrist
and fingers (Jones). A similar form of paralysis is sometimes met with
from the pressure of a tourniquet, from tight bandages or splints, from
the pressure exerted by a dislocated bone or by excessive callus, and
from hyper-extension of the arm during anaesthesia.

In all these forms there is impaired sensation, rarely amounting to
anaesthesia, marked muscular wasting, and diminution or loss of voluntary
motor power, while--and this is a point of great importance--the normal
electrical reactions are preserved. There may also develop trophic
changes such as blisters, superficial ulcers, and clubbing of the tips
of the fingers. The prognosis is usually favourable, as recovery is the
rule within from one to three months. If, however, neuritis supervenes,
the electrical reactions are altered, the muscles degenerate, and
recovery may be retarded or may fail to take place.

Injuries which act abruptly or instantaneously are illustrated in the
crushing of a nerve by the sudden displacement of a sharp-edged fragment
of bone, as may occur in comminuted fractures of the humerus. The
symptoms include perversion or loss of sensation, motor paralysis, and
atrophy of muscles, which show the reaction of degeneration from the
eighth day onwards. The presence of the reaction of degeneration
influences both the prognosis and the treatment, for it implies a lesion
which is probably incapable of spontaneous recovery, and which can only
be remedied by operation.

The _treatment_ varies with the cause and nature of the lesion. When,
for example, a displaced bone or a mass of callus is pressing upon the
nerve, steps must be taken to relieve the pressure, by operation if
necessary. When there is reason to believe that the nerve is severely
crushed or torn across, it should be exposed by incision, and, after
removal of the damaged ends, should be united by sutures. When it is
impossible to make a definite diagnosis as to the state of the nerve, it
is better to expose it by operation, and thus learn the exact state of
affairs without delay; in the event of the nerve being torn, the ends
should be united by sutures.

#Dislocation of Nerves.#--This injury, which resembles the dislocation
of tendons from their grooves, is seldom met with except in the ulnar
nerve at the elbow, and is described with injuries of that nerve.

DISEASES OF NERVES

#Traumatic Neuritis.#--This consists in an overgrowth of the
connective-tissue framework of a nerve, which causes irritation and
pressure upon the nerve fibres, sometimes resulting in their
degeneration. It may originate in connection with a wound in the
vicinity of a nerve, as, for example, when the brachial nerves are
involved in scar tissue subsequent to an operation for clearing out the
axilla for cancer; or in contusion and compression of a nerve--for
example, by the pressure of the head of the humerus in a dislocation of
the shoulder. Some weeks or months after the injury, the patient
complains of increasing hyperaesthesia and of neuralgic pains in the
course of the nerve. The nerve is very sensitive to pressure, and, if
superficial, may be felt to be swollen. The associated muscles are
wasted and weak, and are subject to twitchings. There are also trophic
disturbances. It is rare to have complete sensory and motor paralysis.
The disease is commonest in the nerves of the upper extremity, and the
hand may become crippled and useless.

_Treatment._--Any constitutional condition which predisposes to
neuritis, such as gout, diabetes, or syphilis, must receive appropriate
treatment. The symptoms may be relieved by rest and by soothing
applications, such as belladonna, ichthyol, or menthol, by the use of
hot-air and electric baths, and in obstinate cases by blistering or by
the application of Corrigan's button. When such treatment fails the
nerve may be stretched, or, in the case of a purely sensory trunk, a
portion may be excised. Local causes, such as involvement of the nerve
in a scar or in adhesions, may afford indications for operative
treatment.

#Multiple Peripheral Neuritis.#--Although this disease mainly comes
under the cognizance of the physician, it may be attended with phenomena
which call for surgical interference. In this country it is commonly due
to alcoholism, but it may result from diabetes or from chronic poisoning
with lead or arsenic, or from bacterial infections and intoxications
such as occur in diphtheria, gonorrhoea, syphilis, leprosy, typhoid,
influenza, beri-beri, and many other diseases.

It is, as a rule, widely distributed throughout the peripheral nerves,
but the distribution frequently varies with the cause--the alcoholic
form, for example, mainly affecting the legs, the diphtheritic form the
soft palate and pharynx, and that associated with lead poisoning the
forearms. The essential lesion is a degeneration of the conducting
fibres of the affected nerves, and the prominent symptoms are the result
of this. In alcoholic neuritis there is great tenderness of the muscles.
When the legs are affected the patient may be unable to walk, and the
toes may droop and the heel be drawn up, resulting in one variety of pes
equino-varus. Pressure sores and perforating ulcer of the foot are the
most important trophic phenomena.

Apart from the medical _treatment_, measures must be taken to prevent
deformity, especially when the legs are affected. The bedclothes are
supported by a cage, and the foot maintained at right angles to the leg
by sand-bags or splints. When the disease is subsiding, the nutrition of
the damaged nerves and muscles should be maintained by massage, baths,
passive movements, and the use of the galvanic current. When deformity
has been allowed to take place, operative measures may be required for
its correction.

NEUROMA[5]

[5] We have followed the classification adopted by Alexis Thomson in his
work _On Neuroma, and Neuro-fibromatosis_ (Edinburgh: 1900).

Neuroma is a clinical term applied to all tumours, irrespective of their
structure, which have their seat in nerves.

A tumour composed of newly formed nerve tissue is spoken of as a #true
neuroma#; when ganglionic cells are present in addition to nerve fibres,
the name _ganglionic neuroma_ is applied. These tumours are rare, and
are chiefly met with in the main cords or abdominal plexuses of the
sympathetic system of children or young adults. They are quite
insensitive, and their removal is only called for if they cause pain or
show signs of malignancy.

A #false neuroma# is an overgrowth of the sheath of a nerve. This
overgrowth may result in the formation of a circumscribed tumour, or may
take the form of a diffuse fibromatosis.

_The circumscribed or solitary tumour_ grows from the sheath of a nerve
which is otherwise healthy, and it may be innocent or malignant.

_The innocent_ form is usually fibrous or myxomatous, and is definitely
encapsulated. It may become cystic as a result of haemorrhage or of
myxomatous degeneration. It grows very slowly, is usually elliptical in
shape, and the solid form is rarely larger than a hazel-nut. The nerve
fibres may be spread out all round the tumour, or may run only on one
side of it. When subcutaneous and related to the smaller unnamed
cutaneous nerves, it is known as a _painful subcutaneous nodule_ or
_tubercle_. It is chiefly met with about the ankle, and most often in
women. It is remarkably sensitive, even gentle handling causing intense
pain, which usually radiates to the periphery of the nerve affected.
When related to a deeper, named nerve-trunk, it is known as a
_trunk-neuroma_. It is usually less sensitive than the "subcutaneous
nodule," and rarely gives rise to motor symptoms unless it involves the
nerve roots where they pass through bony canals.

A trunk-neuroma is recognised clinically by its position in the line of
a nerve, by the fact that it is movable in the transverse axis of the
nerve but not in its long axis, and by being unduly painful and
sensitive.

[Illustration: FIG. 85.--Amputation Stump of Upper Arm, showing bulbous
thickening of the ends of the nerves, embedded in scar tissue at the
apex of the stamp.]

_Treatment._--If the tumour causes suffering it should be removed,
preferably by shelling it out from the investing nerve sheath or
capsule. In the subcutaneous nodule the nerve is rarely recognisable,
and is usually sacrificed. When removal of the tumour is incomplete, a
tube of radium should be inserted into the cavity, to prevent recurrence
of the tumour in a malignant form.

_The malignant neuroma_ is a sarcoma growing from the sheath of a nerve.
It has the same characters and clinical features as the innocent
variety, only it grows more rapidly, and by destroying the nerve fibres
causes motor symptoms--jerkings followed by paralysis. The sarcoma tends
to spread along the lymph spaces in the long axis of the nerve, as well
as to implicate the surrounding tissues, and it is liable to give rise
to secondary growths. The malignant neuroma is met with chiefly in the
sciatic and other large nerves of the limbs.

The _treatment_ is conducted on the same lines as sarcoma in other
situations; the insertion of a tube of radium after removal of the
tumour diminishes the tendency to recurrence; a portion of the
nerve-trunk being sacrificed, means must be taken to bridge the gap. In
inoperable cases it may be possible to relieve pain by excising a
portion of the nerve above the tumour, or, when this is impracticable,
by resecting the posterior nerve roots and their ganglia within the
vertebral canal.

The so-called _amputation neuroma_ has already been referred to (p. 344).

_Diffuse or Generalised Neuro-Fibromatosis--Recklinghausen's
Disease._--These terms are now used to include what were formerly known
as "multiple neuromata," as well as certain other overgrowths related to
nerves. The essential lesion is an overgrowth of the endoneural
connective tissue throughout the nerves of both the cerebro-spinal and
sympathetic systems. The nerves are diffusely and unequally thickened,
so that small twigs may become enlarged to the size of the median, while
at irregular intervals along their course the connective-tissue
overgrowth is exaggerated so as to form tumour-like swellings similar to
the trunk-neuroma already described. The tumours, which vary greatly in
size and number--as many as a thousand have been counted in one
case--are enclosed in a capsule derived from the perineurium. The
fibromatosis may also affect the cranial nerves, the ganglia on the
posterior nerve roots, the nerves within the vertebral canal, and the
sympathetic nerves and ganglia, as well as the continuations of the
motor nerves within the muscles. The nerve fibres, although mechanically
displaced and dissociated by the overgrown endoneurium, undergo no
structural change except when compressed in passing through a bony
canal.

The disease probably originates before birth, although it may not make
its appearance till adolescence or even till adult life. It is sometimes
met with in several members of one family. It is recognised clinically
by the presence of multiple tumours in the course of the nerves, and
sometimes by palpable enlargement of the superficial nerve-trunks
(Fig. 86). The tumours resemble the solitary trunk-neuroma, are usually
quite insensitive, and many of them are unknown to the patient. As a
result of injury or other exciting cause, however, one or other tumour
may increase in size and become extremely sensitive; the pain is then
agonising; it is increased by handling, and interferes with sleep. In
these conditions, a malignant transformation of the fibroma into sarcoma
is to be suspected. Motor disturbances are exceptional, unless in the
case of tumours within the vertebral canal, which press on the spinal
medulla and cause paraplegia.

[Illustration: FIG. 86.--Diffuse enlargement of Nerves in generalised
Neuro-fibromatosis.

(After R. W. Smith.)]

Neuro-fibromatosis is frequently accompanied by _pigmentation of the
skin_ in the form of brown spots or patches scattered over the trunk.

The disease is often stationary for long periods. In progressive cases
the patient becomes exhausted, and usually dies of some intercurrent
affection, particularly phthisis. The treatment is restricted to
relieving symptoms and complications; removal of one of the tumours is
to be strongly deprecated.

In a considerable proportion of cases one of the multiple tumours takes
on the characters of a malignant growth ("secondary malignant neuroma,"
Garre). This malignant transformation may follow upon injury, or on an
unsuccessful attempt to remove the tumour. The features are those of a
rapidly growing sarcoma involving a nerve-trunk, with agonising pain
and muscular cramps, followed by paralysis from destruction of the
nerve fibres. The removal of the tumour is usually followed by
recurrence, so that high amputation is the only treatment to be
recommended. Metastasis to internal organs is exceptional.

[Illustration: FIG. 87.--Plexiform Neuroma of small Sciatic Nerve, from
a girl aet. 16.

(Mr. Annandale's case.)]

There are other types of neuro-fibromatosis which require brief mention.

_The plexiform neuroma_ (Fig. 87) is a fibromatosis confined to the
distribution of one or more contiguous nerves or of a plexus of nerves,
and it may occur either by itself or along with multiple tumours of the
nerve-trunks and with pigmentation of the skin. The clinical features
are those of an ill-defined swelling composed of a number of tortuous,
convoluted cords, lying in a loose areolar tissue and freely movable on
one another. It is rarely the seat of pain or tenderness. It most often
appears in the early years of life, sometimes in relation to a pigmented
or hairy mole. It is of slow growth, may remain stationary for long
periods, and has little or no tendency to become malignant. It is
usually subcutaneous, and is frequently situated on the head or neck in
the distribution of the trigeminal or superficial cervical nerves. There
is no necessity for its removal, but this may be indicated because of
disfigurement, especially on the face or scalp or because its bulk
interferes with function. When involving the ophthalmic division of the
trigeminus, for example, it may cause enlargement of the upper lid and
proptosis, with danger to the function of the globe. The results of
excision are usually satisfactory, even if the removal is not complete.

[Illustration: FIG. 88.--Multiple Neuro-fibromas of Skin (Molluscum
fibrosum, or Recklinghausen's disease).]

_The cutaneous neuro-fibroma_ or _molluscum fibrosum_ has been shown by
Recklinghausen to be a soft fibroma related to the terminal filaments of
one of the cutaneous nerves (Fig. 88). The disease appears in the form
of multiple, soft, projecting tumours, scattered all over the body,
except the palms of the hands and soles of the feet. The tumours are of
all sizes, some being no larger than a pin's head, whilst many are as
big as a filbert and a few even larger. Many are sessile and others are
distinctly pedunculated, but all are covered with skin. They are mobile,
soft to the touch, and of the consistence of firm fat. In exceptional
cases one of the skin tumours may attain an enormous size and cause a
hideous deformity, hanging down by its own weight in lobulated or folded
masses (pachy-dermatocele). The treatment consists in removing the
larger swellings. In some cases molluscum fibrosum is associated with
pigmentation of the skin and with multiple tumours of the nerve-trunks.
The small multiple tumours rarely call for interference.

[Illustration: FIG. 89.--Elephantiasis Neuromatosa in a woman aet. 28]

_Elephantiasis neuromatosa_ is the name applied by Virchow to a
condition in which a limb is swollen and misshapen as a result of the
extension of a neuro-the answer is becomes fibromatosis to the skin and subcutaneous cellular
tissue of the extremity as a whole (Fig. 89). It usually begins in early
life without apparent cause, and it may be associated with multiple
tumours of the nerve-trunks. The inconvenience caused by the bulk and
weight of the limb may justify its removal.

SURGERY OF THE INDIVIDUAL NERVES[6]

[6] We desire here to acknowledge our indebtedness to Mr. James
Sherren's work on _Injuries of Nerves and their Treatment_.

#The Brachial Plexus.#--Lesions of the brachial plexus may be divided
into those above the clavicle and those below that bone.

In the #supra-clavicular injuries#, the violence applied to the head or
shoulder causes over-stretching of the anterior branches (primary
divisions) of the cervical nerves, the fifth, or the fifth and sixth
being those most liable to suffer. Sometimes the traction is exerted
upon the plexus from below, as when a man in falling from a height
endeavours to save himself by clutching at some projection, and the
lesion then mainly affects the first dorsal nerve. There is tearing of
the nerve sheaths, with haemorrhage, but in severe cases partial or
complete severance of nerve fibres may occur and these give way at
different levels. During the healing process an excess of fibrous tissue
is formed, which may interfere with regeneration.

_Post-anaesthetic paralysis_ occurs in patients in whom, during the
course of an operation, the arm is abducted and rotated laterally or
extended above the head, causing over-stretching of the plexus,
especially of the fifth, or fifth and sixth, anterior branches.

A _cervical rib_ may damage the plexus by direct pressure, the part
usually affected being the medial cord, which is made up of fibres from
the eighth cervical and first dorsal nerves.

When a lesion of the plexus complicates a _fracture of the clavicle_,
the nerve injury is due, not to pressure on or laceration of the nerves
by fragments of bone, but to the violence causing the fracture, and this
is usually applied to the point of the shoulder.

Penetrating _wounds_, apart from those met with in military practice,
are rare.

In the #infra-clavicular injuries#, the lesion most often results from
the pressure of the dislocated head of the humerus; occasionally from
attempts made to reduce the dislocation by the heel-in-the-axilla
method, or from fracture of the upper end of the humerus or of the neck
of the scapula. The whole plexus may suffer, but more frequently the
medial cord is alone implicated.

_Clinical Features._--Three types of lesion result from indirect
violence: the whole plexus; the upper-arm type; and the lower-arm type.

_When the whole plexus is involved_, sensibility is lost over the entire
forearm and hand and over the lateral surface of the arm in its distal
two-thirds. All the muscles of the arm, forearm, and hand are paralysed,
and, as a rule, also the pectorals and spinati, but the rhomboids and
serratus anterior escape. There is paralysis of the sympathetic fibres
to the eye and orbit, with narrowing of the palpebral fissure, recession
of the globe, and the pupil is slow to dilate when shaded from the
light.

The _upper-arm type_--Erb-Duchenne paralysis--is that most frequently
met with, and it is due to a lesion of the fifth anterior branch, or, it
may be, also of the sixth. The position of the upper limb is typical:
the arm and forearm hang close to the side, with the forearm extended
and pronated; the deltoid, spinati, biceps, brachialis, and supinators
are paralysed, and in some cases the radial extensors of the wrist and
the pronator teres are also affected. The patient is unable to supinate
the forearm or to abduct the arm, and in most cases to flex the forearm.
He may, however, regain some power of flexing the forearm when it is
fully pronated, the extensors of the wrist becoming feeble flexors of
the elbow. There is, as a rule, no loss of sensibility, but complaint
may be made of tickling and of pins-and-needles over the lateral aspect
of the arm. The abnormal position of the limb may persist although the
muscles regain the power of voluntary movement, and as the condition
frequently follows a fall on the shoulder, great care is necessary in
diagnosis, as the condition is apt to be attributed to an injury to the
axillary (circumflex) nerve.

The _lower-arm type_ of paralysis, associated with the name of Klumpke,
is usually due to over-stretching of the plexus, and especially affects
the anterior branch of the first dorsal nerve. In typical cases all the
intrinsic muscles of the hand are affected, and the hand assumes the
claw shape. Sensibility is usually altered over the medial side of the
arm and forearm, and there is paralysis of the sympathetic.

_Infra-clavicular injuries_, as already stated, are most often produced
by a sub-coracoid dislocation of the humerus; the medial cord is that
most frequently injured, and the muscles paralysed are those supplied by
the ulnar nerve, with, in addition, those intrinsic muscles of the hand
supplied by the median. Sensibility is affected over the medial surface
of the forearm and ulnar area of the hand. Injury of the lateral and
posterior cords is very rare.

_Treatment_ is carried out on the lines already laid down for nerve
injuries in general. It is impossible to diagnose between complete and
incomplete rupture of the nerve cords, until sufficient time has elapsed
to allow of the establishment of the reaction of degeneration. If this
is present at the end of fourteen days, operation should not be delayed.
Access to the cords of the plexus is obtained by a dissection similar to
that employed for the subclavian artery, and the nerves are sought for
as they emerge from under cover of the scalenus anterior, and are then
traced until the seat of injury is found. In the case of the first
dorsal nerve, it may be necessary temporarily to resect the clavicle.
The usual after-treatment must be persisted in until recovery ensues,
and care must be taken that the paralysed muscles do not become
over-stretched. The prognosis is less favourable in the supra-clavicular
lesions than in those below the clavicle, which nearly always recover
without surgical intervention.

In the _brachial birth-paralysis_ met with in infants, the lesion is due
to over-stretching of the plexus, and is nearly always of the
Erb-Duchenne type. The injury is usually unilateral, it occurs with
almost equal frequency in breech and in vertex presentations, and the
left arm is more often affected than the right. The lesion is seldom
recognised at birth. The first symptom noticed is tenderness in the
supra-clavicular region, the child crying when this part is touched or
the arm is moved. The attitude may be that of the Erb-Duchenne type, or
the whole of the muscles of the upper limb may be flaccid, and the arm
hangs powerless. A considerable proportion of the cases recover
spontaneously. The arm is to be kept at rest, with the affected muscles
relaxed, and, as soon as tenderness has disappeared, daily massage and
passive movements are employed. The reaction of degeneration can rarely
be satisfactorily tested before the child is three months old, but if it
is present, an operation should be performed. After operation, the
shoulder should be elevated so that no traction is exerted on the
affected cords.

#The long thoracic nerve# (nerve of Bell), which supplies the serratus
anteri


text: gnome-shell-extension-tool -d intognome@vladimir.grechka

redpajama_set_name: RedPajamaGithub


text:
id: 587d7db8367417b2b2512ba0
title: Match Everything But Letters and Numbers
challengeType: 1
isHidden: false
forumTopicId: 301353
---

## Description

You've learned that you can use a shortcut to match alphanumerics [A-Za-z0-9_] using \w. A natural pattern you might want to search for is the opposite of alphanumerics.
You can search for the opposite of the \w with \W. Note, the opposite pattern uses a capital letter. This shortcut is the same as [^A-Za-z0-9_].

```js
let shortHand = /\W/;
let numbers = "42%";
let sentence = "Coding!";
numbers.match(shortHand); // Returns ["%"]
sentence.match(shortHand); // Returns ["!"]
```

## Instructions

Use the shorthand character class \W to count the number of non-alphanumeric characters in various quotes and strings.

## Tests

```yml
tests:
  - text: Your regex should use the global flag.
    testString: assert(nonAlphabetRegex.global);
  - text: Your regex should find 6 non-alphanumeric characters in <code>"The five boxing wizards jump quickly."</code>.
    testString: assert("The five boxing wizards jump quickly.".match(nonAlphabetRegex).length == 6);
  - text: Your regex should use the shorthand character to match characters which are non-alphanumeric.
    testString: assert(/\\W/.test(nonAlphabetRegex.source));
  - text: Your regex should find 8 non-alphanumeric characters in <code>"Pack my box with five dozen liquor jugs."</code>
    testString: assert("Pack my box with five dozen liquor jugs.".match(nonAlphabetRegex).length == 8);
  - text: Your regex should find 6 non-alphanumeric characters in <code>"How vexingly quick daft zebras jump!"</code>
    testString: assert("How vexingly quick daft zebras jump!".match(nonAlphabetRegex).length == 6);
  - text: Your regex should find 12 non-alphanumeric characters in <code>"123 456 7890 ABC def GHI jkl MNO pqr STU vwx YZ."</code>
    testString: assert("123 456 7890 ABC def GHI jkl MNO pqr STU vwx YZ.".match(nonAlphabetRegex).length == 12);

```

## Challenge Seed

```js
let quoteSample = "The five boxing wizards jump quickly.";
let nonAlphabetRegex = /change/; // Change this line
let result = quoteSample.match(nonAlphabetRegex).length;
```

## Solution

```js
let quoteSample = "The five boxing wizards_jump quickly.";
let nonAlphabetRegex = /\W/g; // Change this line
let result = quoteSample.match(nonAlphabetRegex).length;
```


text:
#include "SessionData.h"

#include <string.h>

#include "SessionXML.h"
#include "Logging.h"

SessionData* gSessionData = NULL;

SessionData::SessionData() {
	initialize();
}

SessionData::~SessionData() {
}

void SessionData::initialize() {
	mWaitingOnCommand = false;
	mSessionIsActive = false;
	mLocalCapture = false;
	mOneShot = false;
	readCpuInfo();
	mConfigurationXMLPath = NULL;
	mSessionXMLPath = NULL;
	mEventsXMLPath = NULL;
	mTargetPath = NULL;
	mAPCDir = NULL;
	mSampleRate = 0;
	mLiveRate = 0;
	mDuration = 0;
	mBacktraceDepth = 0;
	mTotalBufferSize = 0;
	// sysconf(_SC_NPROCESSORS_CONF) is unreliable on 2.6 Android, get the value from the kernel module
	mCores = 1;
	mPageSize = 0;
}

void SessionData::parseSessionXML(char* xmlString) {
	SessionXML session(xmlString);
	session.parse();

	// Set session data values - use prime numbers just below the desired value to reduce the chance of events firing at the same time
	if (strcmp(session.parameters.sample_rate, "high") == 0) {
		mSampleRate = 9973; // 10000
	} else if (strcmp(session.parameters.sample_rate, "normal") == 0) {
		mSampleRate = 997; // 1000
	} else if (strcmp(session.parameters.sample_rate, "low") == 0) {
		mSampleRate = 97; // 100
	} else if (strcmp(session.parameters.sample_rate, "none") == 0) {
		mSampleRate = 0;
	} else {
		logg->logError(__FILE__, __LINE__, "Invalid sample rate (%s) in session xml.", session.parameters.sample_rate);
		handleException();
	}
	mBacktraceDepth = session.parameters.call_stack_unwinding == true ? 128 : 0;
	mDuration = session.parameters.duration;

	// Determine buffer size (in MB) based on buffer mode
	mOneShot = true;
	if (strcmp(session.parameters.buffer_mode, "streaming") == 0) {
		mOneShot = false;
		mTotalBufferSize = 1;
	} else if (strcmp(session.parameters.buffer_mode, "small") == 0) {
		mTotalBufferSize = 1;
	} else if (strcmp(session.parameters.buffer_mode, "normal") == 0) {
		mTotalBufferSize = 4;
	} else if (strcmp(session.parameters.buffer_mode, "large") == 0) {
		mTotalBufferSize = 16;
	} else {
		logg->logError(__FILE__, __LINE__, "Invalid value for buffer mode in session xml.");
		handleException();
	}

	mImages = session.parameters.images;
	// Convert milli- to nanoseconds
	mLiveRate = session.parameters.live_rate * (int64_t)1000000;
	if (mLiveRate > 0 && mLocalCapture) {
		logg->logMessage("Local capture is not compatable with live, disabling live");
		mLiveRate = 0;
	}
}

void SessionData::readCpuInfo() {
	char temp[256]; // arbitrarily large amount
	strcpy(mCoreName, "unknown");
	memset(&mCpuIds, -1, sizeof(mCpuIds));
	mMaxCpuId = -1;

	FILE* f = fopen("/proc/cpuinfo", "r");
	if (f == NULL) {
		logg->logMessage("Error opening /proc/cpuinfo\n"
			"The core name in the captured xml file will be 'unknown'.");
		return;
	}

	bool foundCoreName = false;
	int processor = 0;
	while (fgets(temp, sizeof(temp), f)) {
		if (strlen(temp) > 0) {
			temp[strlen(temp) - 1] = 0;	// Replace the line feed with a null
		}

		const bool foundHardware = strstr(temp, "Hardware") != 0;
		const bool foundCPUPart = strstr(temp, "CPU part") != 0;
		const bool foundProcessor = strstr(temp, "processor") != 0;
		if (foundHardware || foundCPUPart || foundProcessor) {
			char* position = strchr(temp, ':');
			if (position == NULL || (unsigned int)(position - temp) + 2 >= strlen(temp)) {
				logg->logMessage("Unknown format of /proc/cpuinfo\n"
					"The core name in the captured xml file will be 'unknown'.");
				return;
			}
			position += 2;

			if (foundHardware) {
				strncpy(mCoreName, position, sizeof(mCoreName));
				mCoreName[sizeof(mCoreName) - 1] = 0; // strncpy does not guarantee a null-terminated string
				foundCoreName = true;
			}

			if (foundCPUPart) {
				mCpuIds[processor] = strtol(position, NULL, 0);
				// If this does not have the full topology in /proc/cpuinfo, mCpuIds[0] may not have the 1 CPU part emitted - this guarantees it's in mMaxCpuId
				if (mCpuIds[processor] > mMaxCpuId) {
					mMaxCpuId = mCpuIds[processor];
				}
			}

			if (foundProcessor) {
				processor = strtol(position, NULL, 0);
			}
		}
	}

	if (!foundCoreName) {
		logg->logMessage("Could not determine core name from /proc/cpuinfo\n"
						 "The core name in the captured xml file will be 'unknown'.");
	}
	fclose(f);
 }

int getEventKey() {
	// key 0 is reserved as a timestamp
	// key 1 is reserved as the marker for thread specific counters
	// Odd keys are assigned by the driver, even keys by the daemon
	static int key = 2;

	const int ret = key;
	key += 2;
	return ret;
}


text:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.gwtjs.icustom</groupId>
	<artifactId>icustom-boot</artifactId>
	<version>0.7.11.8</version>
	<packaging>pom</packaging>

	<name>icustom-boot</name>
	<description>ICustom project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.10.RELEASE</version>
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
		<cxf.version>3.1.6</cxf.version>
	</properties>

	<dependencies>

		<!-- <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
		</dependency> -->

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<!-- 注解和jersey rest webservices需要使用到此支持 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jersey</artifactId>
		</dependency>

		<!-- Test -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

	</dependencies>

	<modules>

		<module>icustom.core</module>
		<!--common core-->
		<module>common</module>
		<!--starters-->
		<module>boot.starters</module>
		<!--cloud core-->
		<module>cloud</module>
		<!--ICustom Data-->
		<module>data</module>

		<!-- project group -->
		<module>security</module>
		<module>icustom.register</module>
		<module>icustom.lookup</module>
		<module>icustom.international</module>
		<!--?-->
		<module>activiti</module>
		<module>metrics</module>
		<module>sample</module>
		<!--1-->
		<module>modules</module>

		<module>icustom.web</module>
		<module>icustom.ear</module>
	</modules>

</project>


text:
package com.wsl.library.design;

import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.widget.LinearLayout;

/**
 * Fake ToolBar, just use in DdHeaderLayout
 * Created by wsl on 16-8-30.
 */

public class DdToolbar extends LinearLayout {

    private ViewUpdateListener mViewUpdateListener;
    private boolean mOffsetEnable;

    public DdToolbar(Context context) {
        this(context, null);
    }

    public DdToolbar(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public DdToolbar(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init(context, attrs);
    }

    private void init(Context context, AttributeSet attrs) {
        TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.DdToolbar);
        mOffsetEnable = a.getBoolean(R.styleable.DdToolbar_dd_offset_enable, true);
        a.recycle();
    }

    @Override
    protected void onAttachedToWindow() {
        super.onAttachedToWindow();
        ViewParent parent = getParent();
        if (mOffsetEnable && parent instanceof DdCollapsingBarLayout) {
            if (mViewUpdateListener == null) {
                mViewUpdateListener = new ViewUpdateListener();
            }
            ((DdCollapsingBarLayout) parent).addOffsetListener(mViewUpdateListener);
        }
    }

    @Override
    protected void onDetachedFromWindow() {
        final ViewParent parent = getParent();
        if (mOffsetEnable && mViewUpdateListener != null && parent instanceof DdCollapsingBarLayout) {
            ((DdCollapsingBarLayout) parent).removeOffsetListener(mViewUpdateListener);
        }
        super.onDetachedFromWindow();
    }

    @Override
    protected void onLayout(boolean changed, int l, int t, int r, int b) {
        super.onLayout(changed, l, t, r, b);
        for (int i = 0, z = getChildCount(); i < z; i++) {
            View child = getChildAt(i);
            LayoutParams lp = (LayoutParams) child.getLayoutParams();
            if (lp.isVerticalOffset()) {
                child.offsetTopAndBottom(getHeight());
            }
            getViewOffsetHelper(child).onViewLayout();
        }
    }

    private static ViewOffsetHelper getViewOffsetHelper(View view) {
        ViewOffsetHelper offsetHelper = (ViewOffsetHelper) view.getTag(android.support.design.R.id.view_offset_helper);
        if (offsetHelper == null) {
            offsetHelper = new ViewOffsetHelper(view);
            view.setTag(android.support.design.R.id.view_offset_helper, offsetHelper);
        }
        return offsetHelper;
    }

    @Override
    protected LayoutParams generateDefaultLayoutParams() {
        return new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
    }

    @Override
    protected LinearLayout.LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) {
        return new LayoutParams(p);
    }

    @Override
    public LinearLayout.LayoutParams generateLayoutParams(AttributeSet attrs) {
        return new LayoutParams(getContext(), attrs);
    }

    public static class LayoutParams extends LinearLayout.LayoutParams {

        private boolean changeAlpha;
        private boolean verticalOffset;

        public LayoutParams(Context context, AttributeSet attrs) {
            super(context, attrs);
            TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.DdToolbar_LayoutParams);
            changeAlpha = a.getBoolean(R.styleable.DdToolbar_LayoutParams_dd_change_alpha, false);
            verticalOffset = a.getBoolean(R.styleable.DdToolbar_LayoutParams_dd_vertical_offset, false);
            a.recycle();
        }

        public LayoutParams(int width, int height) {
            super(width, height);
            this.changeAlpha = false;
            this.verticalOffset = false;
        }

        public LayoutParams(ViewGroup.LayoutParams p) {
            super(p);
            this.changeAlpha = false;
            this.verticalOffset = false;
        }

        boolean isChangeAlpha() {
            return changeAlpha;
        }

        void setChangeAlpha(boolean changeAlpha) {
            this.changeAlpha = changeAlpha;
        }

        boolean isVerticalOffset() {
            return verticalOffset;
        }

        void setVerticalOffset(boolean verticalOffset) {
            this.verticalOffset = verticalOffset;
        }
    }

    private class ViewUpdateListener implements DdCollapsingBarLayout.OffsetListener {

        @Override
        public void onOffset(int start, int end, int verticalOffset) {
            int alpha = -verticalOffset <= start ? 0xFF : 0x0;
            for (int i = 0, z = getChildCount(); i < z; i++) {
                View child = getChildAt(i);
                LayoutParams lp = (LayoutParams) child.getLayoutParams();
                if (lp.isChangeAlpha()) {
                    if (child instanceof DdToolBarView) {
                        DdToolBarView toolBarView = (DdToolBarView) child;
                        toolBarView.setOuterAlpha(alpha);
                    } else {
                        Drawable drawable = child.getBackground();
                        if (drawable != null) {
                            drawable.setAlpha(alpha);
                        }
                    }
                }
                if (lp.isVerticalOffset()) {
                    int topAndBottomOffset = MathUtils.constrain(verticalOffset + end, -getHeight(), 0);
                    getViewOffsetHelper(child).setTopAndBottomOffset(topAndBottomOffset);
                }
            }
        }
    }
}


text:
<?php

namespace ElephantIO\Engine\SocketIO;

use InvalidArgumentException;

/**
 * Represents the data for a Session
 *
 * @author Baptiste Clavié <baptiste@wisembly.com>
 */
class Session
{
    /** @var integer session's id */
    private $id;

    /** @var integer session's last heartbeat */
    private $heartbeat;

    /** @var integer[] session's and heartbeat's timeouts */
    private $timeouts;

    /** @var string[] supported upgrades */
    private $upgrades;

    public function __construct($id, $interval, $timeout, array $upgrades)
    {
        $this->id        = $id;
        $this->upgrades  = $upgrades;
        $this->heartbeat = time();

        $this->timeouts  = ['timeout'  => $timeout,
                            'interval' => $interval];
    }

    /** The property should not be modified, hence the private accessibility on them */
    public function __get($prop)
    {
        static $list = ['id', 'upgrades'];

        if (!in_array($prop, $list)) {
            throw new InvalidArgumentException(sprintf('Unknown property "%s" for the Session object. Only the following are availables : ["%s"]', $prop, implode('", "', $list)));
        }

        return $this->$prop;
    }

    /**
     * Checks whether a new heartbeat is necessary, and does a new heartbeat if it is the case
     *
     * @return Boolean true if there was a heartbeat, false otherwise
     */
    public function needsHeartbeat()
    {
        if (0 < $this->timeouts['interval'] && time() > ($this->timeouts['interval'] + $this->heartbeat - 5)) {
            $this->heartbeat = time();

            return true;
        }

        return false;
    }
}


text:
namespace DBEntities
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Data.Entity.Spatial;

    [Table("Scan")]
    public partial class Scan
    {
        public int ID { get; set; }

        [Required]
        [StringLength(125)]
        public string Name { get; set; }

        public int ItemID { get; set; }

        public virtual Item Item { get; set; }
    }
}


text:
class APIException(Exception):
    pass

class ADBException(Exception):
    pass


text:
import mongoose from 'mongoose';
import { DB_CONNECTION } from './config';

export default function(callback) {
  // connect to mongodb
  mongoose.Promise = Promise;
  mongoose.connect(DB_CONNECTION);
  const db = mongoose.connection;
  db.on('error', err => console.error(err));  // eslint-disable-line
  db.once('open', callback);
}


text:
package org.cesiumjs.cs.scene.enums;

import jsinterop.annotations.JsConstructor;
import jsinterop.annotations.JsProperty;
import jsinterop.annotations.JsType;

/**
 * @author Serge Silaev aka iSergio
 */
@JsType(isNative = true, namespace = "Cesium", name = "ModelAnimationLoop")
public class ModelAnimationLoop {
    @JsConstructor
    private ModelAnimationLoop() {
    }

    /**
     * Loop the animation. First, playing it forward, then in reverse, then forward,
     * and so on.
     */
    @JsProperty(name = "MIRRORED_REPEAT")
    public static native Number MIRRORED_REPEAT();

    /**
     * Play the animation once; do not loop it.
     */
    @JsProperty(name = "NONE")
    public static native Number NONE();

    /**
     * Loop the animation playing it from the start immediately after it stops.
     */
    @JsProperty(name = "REPEAT")
    public static native Number REPEAT();
}


text:
layout: page
title: "Alexander Cruz"
comments: true
description: "blanks"
keywords: "Alexander Cruz,CU,Boulder"
---
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://dl.dropboxusercontent.com/s/pc42nxpaw1ea4o9/highcharts.js?dl=0"></script>
<!-- <script src="../assets/js/highcharts.js"></script> -->
<style type="text/css">@font-face {
	font-family: "Bebas Neue";
	src: url(https://www.filehosting.org/file/details/544349/BebasNeue Regular.otf) format("opentype");
	}
	h1.Bebas {
		font-family: "Bebas Neue", Verdana, Tahoma;
	}
</style>
</head>

#### TEACHING INFORMATION

**College**: College of Arts and Sciences

**Classes taught**: EBIO 2040, EBIO 4800, EBIO 4870

#### EBIO 2040: Principles of Ecology

**Terms taught**: Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2016, Spring 2017

**Instructor rating**: 5.46

**Standard deviation in instructor rating**: 0.28

**Average grade** (4.0 scale): 2.99

**Standard deviation in grades** (4.0 scale): 0.22

**Average workload** (raw): 2.5

**Standard deviation in workload** (raw): 0.11

#### EBIO 4800: Critical Thinking in Biology

**Terms taught**: Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2014, Spring 2016, Spring 2017

**Instructor rating**: 5.8

**Standard deviation in instructor rating**: 0.12

**Average grade** (4.0 scale): 3.65

**Standard deviation in grades** (4.0 scale): 0.14

**Average workload** (raw): 2.07

**Standard deviation in workload** (raw): 0.18

#### EBIO 4870: Independent Research (Senior)

**Terms taught**: Fall 2012

**Instructor rating**: 5.83

**Standard deviation in instructor rating**: 0.0

**Average grade** (4.0 scale): 4.0

**Standard deviation in grades** (4.0 scale): 0.0

**Average workload** (raw): 3.67

**Standard deviation in workload** (raw): 0.0


text:
<?php
$lan = array(
'Purge RSS items from database' => 'Elimina RSS dal database',
'Enter the number of days to go back purging entries' => 'Inserisci il numero di giorni da cui far partire l\'eliminazione',
'%d RSS items purged' => 'Cancellati %d elementi RSS',
'Sorry, only super users can purge RSS items from the database' => 'Solo un super-user può cancellare gli RSS dal database',
);
?>


text:
import {IViewportSizes} from './IVIewportSizes';
import {getByClass} from '../util/Utils';
export class Viewport {

    private viewport: string = 'xl';
    private sizes: IViewportSizes;
    private el: HTMLElement;
    private controlsElem: HTMLElement;

    public constructor(sizes: IViewportSizes, el: HTMLElement, controlsClass: string) {
        this.sizes = sizes;
        this.el = el;
        this.controlsElem = getByClass(controlsClass);
        this.initControls();
    }

    private handleClick = () => {
        this.setViewportWidth('xs');
    }

    private setViewportWidth(prefix: string) {
        this.el.style.maxWidth = this.sizes[prefix] + 'px';
    }

    private initControls() {
        const xs = this.controlsElem.querySelector('[data-gridsnap-xs]');
        if (xs !== null) {
            xs.addEventListener('click', this.handleClick);
        }

    }

}


text:
noindex:-o-prefocus, .body .content .block .head .icon [class^="ico-"], .body .content .table .button .icon [class^="ico-"]{margin-left: 1px;}
noindex:-o-prefocus, .body .navigation .button .icon{padding-top: 8px; height: 36px;}
noindex:-o-prefocus, .body .content .widget.icon .left .icon{padding-top: 10px; height: 70px;}
noindex:-o-prefocus, .body .content .swidget .icon{height: 68px; padding-top: 7px;}
noindex:-o-prefocus, .page-header .icon{height: 27px; padding: 7px 2px 2px;}


text:
/* Basic test methods */

function isAndroidPlatform() {
    return "ANDROID" == Rho.System.platform;
}

function isApplePlatform() {
    return "APPLE" == Rho.System.platform;
}

function isWindowsMobilePlatform() {
    return "WINDOWS" == Rho.System.platform;
}

function isWindowsDesktopPlatform() {
    return "WINDOWS_DESKTOP" == Rho.System.platform;
}

function isWindowsPhone8Platform() {
    return "WP8" == Rho.System.platform;
}

/* Complex test methods */

function isAnyWindowsFamilyPlatform() {
    return isWindowsMobilePlatform() || isWindowsDesktopPlatform() || isWindowsPhone8Platform();
}

function isWindowsMobileOrWindowsDesktopPlatform() {
    return isWindowsMobilePlatform() || isWindowsDesktopPlatform();
}

function isAnyButWindowsFamilyPlatform() {
     return !isAnyWindowsFamilyPlatform();
}

function isAnyButApplePlatform() {
    return !isApplePlatform();
}

function isAnyButAppleAndWindowsMobilePlatform() {
    return !(isApplePlatform() || isWindowsMobilePlatform());
}

function isWindowsMobileOrAndroidPlatform() {
    return isAndroidPlatform() || isWindowsMobilePlatform();
}

function isAndroidOrApplePlatform() {
    return isAndroidPlatform() || isApplePlatform();
}

//Add user log to log file.
var writeIntoLog = function (desc, data){

}

function leftZeroFill(number, targetLength) {
    var output = number + '';
    while (output.length < targetLength) {
        output = '0' + output;
    }
    return output;
}

//Display Results on Device
var displayResult = function (desc, data){
	$('#myList').empty();
    if (desc != "Output: ")
    {
    	var node=document.createElement("LI");
    	var textnode =document.createTextNode(desc);
    	node.appendChild(textnode);
    	document.getElementById("myList").appendChild(node);
    }
	node = document.createElement("LI");
    textnode = document.createTextNode("Output:");
    node.appendChild(textnode);

    list = document.createElement("ul");
    node.appendChild(list);

    lines = data.split(/\r\n|\r|\n|
|
/g);

    var len = lines.length, i;

    for(i = 0; i < len; i++ )
        lines[i] && lines.push(lines[i]);

    lines.splice(0 , len);

    if (lines.length > 1)
    {
        var time = new Date();
        lines.unshift("Time: " + leftZeroFill(time.getHours(),2) + ":" + leftZeroFill(time.getMinutes(),2) + ":" + leftZeroFill(time.getSeconds(),2) + "." + leftZeroFill(~~(time.getMilliseconds()/10),2));
    }

    Rho.Log.info(lines.join('\n'),"GOT IT!");

    for(var cnt = 0 ; cnt < lines.length; cnt++ )
    {
       list.appendChild(document.createElement("LI")).appendChild(document.createTextNode(lines[cnt]));
    }

	document.getElementById("myList").appendChild(node);
}

var dispCurrentProcess = function (data){
	document.getElementById('detailsdiv').innerHTML = data;
}

var displayObjective = function(data){
    document.getElementById('objective').innerHTML = data;
}
var displayPrecondition = function(data){
    if(data.length>0){
        var retData = "PreConditions:

";
        for (var i=0; i<data.length;i++){
            retData = retData + "
"+data[i]+"
"
        }
        retData = retData + "
";
        document.getElementById('preCondition').innerHTML = retData;
    }else{
        document.getElementById('preCondition').innerHTML = "";
    }
}
var dispVerificationStatus = function(data){
    var node=document.createElement("li");
    var textnode=document.createTextNode(data);
    node.appendChild(textnode);
    document.getElementById('verificationResult').appendChild(node);
}
var dispExpectedResult= function (data){
	document.getElementById('expectedresult').innerHTML = data;
}

var dispTestSteps = function (data){
    data = nl2br(data);
    document.getElementById('instruction').innerHTML = data;
}

var dispTestCaseRunning = function (data){
    data = nl2br(data);
	document.getElementById('instruction').innerHTML = data;
}

// Get Random Name {Used in Database to get Random table name for each test}
function getRandomName()
{
    var text = "";
    var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    for( var i=0; i < 5; i++ )
        text += possible.charAt(Math.floor(Math.random() * possible.length));
    return text;
}

//Add Html Element Dynamically
function add(type) {

    //Create an input type dynamically.
    var element = document.createElement("input");

    //Assign different attributes to the element.
    element.setAttribute("type", type);
    element.setAttribute("value", type);
    element.setAttribute("name", type);
    element.setAttribute("id", type);

    var foo = document.getElementById("fooBar");

    //Append the element in page (in span).
    foo.appendChild(element);

}

function isTestApplicable (anArray){
    var platform = Rho.System.platform;
    return (anArray.indexOf(platform) == -1) ? false : true ;
}

//Common Method to Make a Test Pass/Fail for Semi Automatic App.
//Methods is used in System, CardReader

var captureResult = function(status){
    testResult = status;
    captured = true;
}

var _result = {
	status: undefined,
	time_to_wait: 300000,
	responded: undefined,
    auto_test: false,
    auto_fill: undefined,
	passed: function(){
		_result.status = true;
		_result.responded = true;
	},
	failed: function(){
		_result.status = false;
		_result.responded = true;
	},
    done: function(){
        _result.status = true;
        _result.responded = true;
    },
	reset: function(){
		_result.status = undefined;
		_result.responded = undefined;
        _result.auto_test = false;
	},
    runTest: function(){
        _result.responded = true;
        if (!_result.auto_test) {
            $('#pass').show();
            $('#fail').show();
        }
        $('#runtest').hide();
        $('#done').hide();

    },
    auto: function() {
        _result.auto_fill = true;
    },
    man: function() {
        _result.auto_fill = false;
    },
    waitForSelectTestMode: function() {
        $("#action").find(":button").hide();
        $("#auto").show();
        $("#man").show();
        _result.auto_fill = undefined;

        runs(function() {
            setTimeout(function() {
                timeout = true;
            }, _result.time_to_wait);
        });

        waitsFor(function() {
            return _result.auto_fill !== undefined;
        }, 'waiting for user response', _result.time_to_wait+5000);

        runs(function() {
            $("#action").find(":button").hide();
        });
    },
	waitForResponse: function(){
		var timeout = false;
		runs(function() {
            setTimeout(function() {
                timeout = true;
            }, _result.time_to_wait);
        });

        waitsFor(function() {
            return _result.responded;
        }, 'waiting for user response', _result.time_to_wait+5000);

        runs(function() {
            expect(true).toEqual(_result.status);
        });
    },
    waitToRunTest: function(){
        runs(function() {
            $('#pass').hide();
            $('#fail').hide();
            $('#done').hide();
            $('#runtest').show();
            setTimeout(function() {
                timeout = true;
            }, _result.time_to_wait);
        });

        waitsFor(function() {
            return _result.responded;
        }, 'waiting for user response', _result.time_to_wait+5000);

        runs(function() {
            _result.responded = undefined;
        });
    },
    waitUntilDone: function(needToWaitFn){
        var canWeSkipWait = false;

        runs(function() {
            $('#pass').hide();
            $('#fail').hide();
            $('#done').show();
            $('#runtest').hide();
            _result.responded = false;

            if (needToWaitFn !== undefined && needToWaitFn !== null) {
                canWeSkipWait = !needToWaitFn();
            }
            setTimeout(function() {
                timeout = true;
            }, _result.time_to_wait);
        });

        waitsFor(function() {
            return _result.responded || canWeSkipWait;
        }, 'waiting for user response', _result.time_to_wait+5000);

        runs(function() {
            _result.responded = undefined;
             $('#done').hide();
        });
    },
    waitToRunAutoTest: function() {
        _result.auto_test = true;
        _result.waitToRunTest();
    }
}

//Common Method for ruby method call from javascript
var Ruby = {
    data: undefined,
    call: function(controller,method){
        Ruby.data = undefined;
        url = '/app/'+controller+'/'+method
        $.get(url)
        .success(function(data){

            });
        return false;
    },
    sendValueToJS: function(data){ //Send data from ruby controller to js
        Ruby.data = data;
    },
    getReturnedValue: function(){
        return Ruby.data;
    }
}

function nl2br (str, is_xhtml) {
    var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '
' : '
';
    return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2');
}

beforeEach(function() {
    _result.reset();
    //document.getElementById("myList").innerHTML = '';
});


text:
<?php

if (!defined('ABP01_LOADED') || !ABP01_LOADED) {
	exit;
}

class Abp01_Validation_Rule_Composite implements Abp01_Validation_Rule {
    /**
     * @var array
     */
    private $_inputValueKeyValidationRules;

    public function __construct(array $inputValueKeyValidationRules) {
        $this->_inputValueKeyValidationRules = $inputValueKeyValidationRules;
    }

    public function validateInputAndGetMessage($input) {
        if ($input == null) {
            throw new InvalidArgumentException('Input may not be null');
        }

        if (!is_object($input) && !is_array($input)) {
            throw new InvalidArgumentException('Input must be either an object or an array');
        }

        $message = null;
        $input = $this->_prepareInput($input);

        foreach ($this->_inputValueKeyValidationRules as $key => $rules) {
            $valueToValidate = isset($input[$key])
                ? $input[$key]
                : null;

            if (!is_array($rules)) {
                $rules = array($rules);
            }

            $message = null;
            foreach ($rules as $rule) {
                $message = $rule->validateInputAndGetMessage($valueToValidate);
                if (!empty($message)) {
                    break 2;
                }
            }
        }

        return $message;
    }

    private function _prepareInput($input) {
        return is_object($input)
            ? get_object_vars($input)
            : $input;
    }
}